$()内部で動作するためにsedの&変数を使用できますか? [コピー]

$()内部で動作するためにsedの&変数を使用できますか? [コピー]

$()の中に&を入れて、&が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ストリームエディタなので、数学式を実行できません。

おすすめ記事