sed でコマンド実行結果を指定する方法です。
sed s/abc/def/g a.txt といった指定をしますが、abc や def にコマンド実行結果を指定する場合、以下のようにします。
sed s/`hostname`/`hostname -f`/g a.txtこれで、hostname コマンドの実行結果(例えば host01)を hostname -f の実行結果(例えば host01.hogehoge.local)に変換してくれます。
`command`という文字列として扱いたい(コマンドとして実行しない)場合は、s から g を、シングルクォート( ' )で囲み、コマンドのバッククォート( ` )の前にバックスラッシュ( \ )を挿入します。
sed 's/abc/\`command\`/g' a.txt
0 件のコメント:
コメントを投稿