$() 내부에서 작동하기 위해 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스트림 편집기이므로 수학적 표현식을 실행할 수 없습니다.

관련 정보