Sed

使用 sed 在 linux 中使用主機名輸出

  • November 4, 2022

我正在嘗試在 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

引用自:https://unix.stackexchange.com/questions/723704