【发布时间】:2010-05-06 03:25:45
【问题描述】:
有没有办法使用以下管道安装在 1 行中:
输出
sha1sum $(xpi) | grep -Eow '^[^ ]+'
代替 456
sed 's/@version@/456/' input.txt > output.txt
【问题讨论】:
-
你不能使用管道来获取命令行参数的输出;给出的答案都有效,但我会使用(另一个)乔纳森的双引号。
-
@Jonathan Leffler:sed 不能很好地在这些双引号中嵌套另一个命令。它会在 shell 尝试解析出要执行的命令之前尝试不正确地解析它。
-
@Trey:你是什么意思?
$(...)符号中的命令将在sed启动之前完全执行! -
@Jonathan Leffler:尝试执行` | sed -e 's/(\/\|\\\|&)/\\&/g'
. The output will be something likesed: -e expression #1, char 9: 's'`的未知选项。 -
@Trey:我们在谈论不同的目的——我看不出你刚刚写的内容与其余讨论有何联系。如果您想进一步讨论,请通过电子邮件与我联系(请参阅我的个人资料)。否则,我们会将其视为误传。