Sed
使用 sed 在 linux 中使用主機名輸出
我正在嘗試在 Linux 中使用部分主機名輸出,並使用 sed 在文件中使用它。例如,我將此命令用作主機名 |tail -c 4,它將輸出顯示為最後 4 個數字,然後使用此輸出並將其替換為文件中的另一個文本。
假設主機名命令的一部分顯示帶有 tail -c 4 選項,“1234”我怎樣才能更進一步並用它來替換另一個文件。我可以通過以下方式手動執行此操作:
主機名 |tail -c 4 ; sed -i ’s/oldtext/1234/g’ 文件名.txt
但不確定如何使用腳本實現這一點?有任何想法嗎?
您可以將第一個命令的輸出儲存在變數中
$ var=$(hostname |tail -c 4)
儲存後,您可以將其用作替換
sed
$ sed -i.bak "s/oldtext/$var/g" filename.txt