スクリプトファイルを区切られた文書としてsedに渡すには?

スクリプトファイルを区切られた文書としてsedに渡すには?

これにより、「a」が「A」に変換されます。

sed 's/a/A/g' <(echo "foobar")
foobAr

これは、各コレクションを大文字で始めるために必要なコマンドを提供します。

$ cat << EOF
s/a/A/g
s/e/E/g
s/i/I/g
s/o/O/g
s/u/U/g
EOF

私がやりたいことは、各コレクションが大文字で表示されるように最初の例を拡張し、2番目の例に示すようにここでドキュメントを使用することです。どんな提案がありますか?

男性:

sed [オプション]... {スクリプトのみ、他のスクリプトがない場合} [入力ファイル]...

-f script-file, --file=script-file 実行するコマンドに script-file の内容を追加します。

答え1

標準入力からスクリプトを読む必要があることを示すために-withを使用できます。sed -f

$ cat << EOF | sed -f - <(echo foobar)
s/a/A/g
s/e/E/g
s/i/I/g
s/o/O/g
s/u/U/g
EOF
fOObAr

答え2

この場合、tr適切な解決策は次のとおりです。

$ echo foobar | tr [aeiou] [AEIOU]
fOObAr

関連情報