$() 内で操作を行うために 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ストリーム エディターなので、数式を実行することはできません。

関連情報