sedにはいつ「-e」が必要ですか?

sedにはいつ「-e」が必要ですか?

私が読んでいるhttps://stackoverflow.com/a/10010364/156458-esedオプションに関する質問があります。

私が正しい場合は、-eインラインsedコマンドの前に使用されます。ただし、.sedなしでインラインsedコマンドを指定できます-e。たとえば、次の2つが私と同じように機能します。

$ echo foo | sed  's/foo/bar/g'
bar

$ echo foo | sed -e 's/foo/bar/g'
bar

-fsedスクリプトを指定する必要はありません。いつそれが必要ですか-e?最初に提供されたリンクの特定の場合になぜ必要なのですか-e

ありがとうございます。

ベストアンサー1

man sedこれは sed() のマニュアルページに返信されています。

-e script--expression=script実行するコマンドにスクリプトを追加します。

そして

no -e--expression[...]オプションが指定されている場合、オプションではなく最初の引数がsed解釈されるスクリプトとして使用されます。残りのすべての引数は入力ファイルの名前です。入力ファイルが指定されていない場合は、標準入力を読み込みます。

したがって、パラメータが1つしかない場合はスクリプトsedとして処理されます。sed複数のパラメータがある場合、または-eを使用して、どのパラメータがスクリプトであるかを確認--expressionする必要があります。sed

特定の例では、2つの選択肢は同義語です。

おすすめ記事