sed + sedパイプラインを最小限に抑え、一度にsedを完了する方法

sed + sedパイプラインを最小限に抑え、一度にsedを完了する方法

2つの異なるsedパイプを必要とせずに1つのsedコマンドで次のことを実行できますか?

sed s"/obbama/trump/" | sed s'/"//g' | sed s'/://g' 

ここで説明されている sed では、obbama という単語を trump に置き換えて、 ' ' ' と ':' 文字を削除する必要があります。

ベストアンサー1

~からPOSIX sed のマニュアルページ

スクリプトは、スクリプトオペランド文字列またはオプション引数の組み合わせから取得する必要があります。-eスクリプトそして-fスクリプトファイルオプション。

最初の答え(「スクリプトオペランド文字列」)は、基本的にここの他の答え(セミコロンで区切られています)によって処理されます。

そして-e

$ sed -e "s/obbama/trump/" -e 's/"//g' -e 's/://g' 

そして-f

$ cat sed-script
s/obbama/trump/
s/"//g
s/://g
$ sed -f sed-script

ところで、より伝統的なアプローチは、例で実行された各代替ディレクティブに対して引用符の中に「s」を入れることです-e

おすすめ記事