在 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

相关内容