Могу ли я использовать переменную & 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является потоковым редактором, он не предназначен для выполнения математических выражений.

Связанный контент