Linuxでホスト名を出力するには、sedを使用します。

Linuxでホスト名を出力するには、sedを使用します。

Linuxで部分的なホスト名出力を取得し、sedを使用してファイルで使用しようとしています。たとえば、このコマンドをホスト名|tail -c 4として使用すると、出力は最後の4つの数字で表示されます。その後、この出力を使用してファイル内の他のテキストに置き換えます。

ホスト名コマンドの一部がtail -c 4オプション "1234"で示されていると仮定すると、さらに一歩進み、それを使用して他のファイルに置き換えることができますか?次の手順で手動でこれを実行できます。

ホスト名|tail -c 4; sed -i 's/oldtext/1234/g' ファイル名.txt

しかし、スクリプトでこれを達成する方法がわかりませんか?どんなアイデアがありますか?

答え1

最初のコマンドの出力を変数に保存できます。

$ var=$(hostname |tail -c 4)

保管後の交換用として利用可能sed

$ sed -i.bak "s/oldtext/$var/g" filename.txt

関連情報