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