我正在尝试在 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