コマンドを含むファイルを使用して、sed
パイプ入力を変更できるプロセスがあります。
入力のプレースホルダーを変数値に置き換える必要があります。たとえば、実行できる単一の-e
タイプのコマンドの場合です。
$ echo "Today is XX" | sed -e "s/XX/$(date +%F)/"
Today is 2012-10-11
ただし、ファイル内のアスペクトを指定することしかできませんsed
(そして、プロセスをファイルに向けることができます)。たとえば、呼び出されたファイルには次のものreplacements.sed
が含まれる場合があります。
s/XX/Thursday/
明らかに;
$ echo "Today is XX" | sed -f replacements.sed
Today is Thursday
ただし、環境変数またはシェル値を使用したい場合は、それを拡張する方法が見つかりません。たとえば、replacements.txt
containsの場合などです。
s/XX/$(date +%F)/
それで;
$ echo "Today is XX" | sed -f replacements.sed
Today is $(date +%F)
ファイルのテキストに二重引用符を含めると、二重引用符が出力されます。
ファイルで変数を使用できるようにする方法を知っている人はいsed
ますか?