命令行输出应更新为特定行的文件

时间:2016-06-21 06:58:56

标签: awk sed

我在〜/ Desktop / test / dummy.txt位置有一个文件,下面的文字是

[client]
clientName = 

[servername]
testserver-1

dummy.txt文件应该使用“clientName =”行末尾的hostname -s输出进行更新

1 个答案:

答案 0 :(得分:2)

如果要在hostname -s文件中附加命令dummy.txt的结果,可以试试这个:

awk -v hostname="$(hostname -s)" '$1=="clientName" {$3=hostname}1' dummy.txt

它将主机名作为变量传递,并在找到字符串clientName时附加它。

您也可以使用sed执行相同操作:

sed "/^clientName/s/$/ $(hostname -s)/" dummy.txt

/^clientName/是替换s将适用的搜索模式。替换将行命令$(hostname -s)的结果附加到行尾($