Posso usar a variável & do sed para fazer operações dentro de $()?

Posso usar a variável & do sed para fazer operações dentro de $()?

Não tenho certeza se a instrução abaixo pode ser feita colocando & dentro de $() para que cada vez & seja substituído por 1,2,3,4 e 1 seja adicionado a ela.

echo 1 2 3 4 | tr ' ' '\n' | sed "s/.*/$(echo expr 1 + &)/"

A afirmação acima não funciona

eu recebo a saída:

expr 1 +
expr 1 +
expr 1 +
expr 1 +

Responder1

Se você nãoprecisarpara usar sedpara isso, aqui estão algumas outras opções:

$ 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é um editor de fluxo, não é suposto fazer expressões matemáticas.

informação relacionada