我不确定下面的语句是否可以将 & 放在 $() 内,以便每次 & 被 1,2,3,4 替换,并添加 1 。
echo 1 2 3 4 | tr ' ' '\n' | sed "s/.*/$(echo expr 1 + &)/"
上面的语句不起作用
我得到输出:
expr 1 +
expr 1 +
expr 1 +
expr 1 +
答案1
如果你不这样做需要为此sed
,这里有一些其他选项:
$ echo 1 2 3 4 | tr ' ' '\n' | while read f; do let f+=1; echo $f; done
2
3
4
5
$ echo 1 2 3 4 | tr ' ' '\n' | awk '{print $1+1}'
2
3
4
5
$ echo 1 2 3 4 | tr ' ' '\n' | perl -lne '$i=$_+1; print $i'
2
3
4
5
sed
是一个流编辑器,它不应该执行数学表达式。