Co robi opcja „-e” w sed?


7

Próbuję zrozumieć skrypt powłoki, który używa sed. Odkryłem, że niektóre miejsca sedzostały przywołane z tą -eopcją.

Próbowałem zobaczyć manstronę, a ona tylko wspomina,

-e polecenie

Dołącz polecenia edycji określone przez argument polecenia do listy poleceń.

co nie jest dla mnie bardzo jasne.

Czy ktoś może mi uprzejmie wyjaśnić, co -erobi? Dzięki.

PS: Używam sedw Mac

Odpowiedzi:


7

W -e parametry nakazuje sed że chcesz dostarczyć wielu poleceń:

sed -e 's/string1/string2/g' -e 's/string4/string5/g'

Spowoduje to zastąpienie łańcuch1 z łańcuch2 i string4 z string5 .


Dzięki. To wyjaśnia to. Teraz tajemnicza wiadomość w manpoleceniu ma sens.

:-) cieszę się, że mogłem pomóc

1
Dlaczego jest to akceptowana odpowiedź? Jeszcze nie naprawdę ujawniają prawdziwy cel -e, ponieważ Powyższy skrypt można zrobić podobnie przez: sed 's/string1/string2/g;s/string4/string5/g' file. Niezależnie od tego, jakie masz osobne wyrażenia, możesz połączyć je w jedno wyrażenie, a następnie upuścić -e. Czy ktoś może ujawnić cel konieczności -ew sed?
typelogiczny

1
@daixtr Wyjaśniono w tej odpowiedzi .
weibeld
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.