我试图将grep命令的输出传输到'替换为' sed命令中的值。我尝试过xargs而只是管道,但我似乎无法让它运转起来。我在堆栈溢出时发现的所有示例都假设我知道grep命令的最终结果。以下是我尝试做的一个例子。
cat /etc/sysconfig/network | grep HOSTNAME | grep -i s/greppedline/"HOSTNAME=something"/
实际上,我不知道我需要替换的行的全部内容,只是HOSTNAME将在其中。在没有从grep命令创建变量的情况下,有没有可以做到这一点?
答案 0 :(得分:1)
我认为你正试图这样做,
sed '/HOSTNAME/s/.*/"HOSTNAME=something"/' /etc/sysconfig/network
添加内联编辑-i
选项以保存所做的更改。
sed -i.bak '/HOSTNAME/s/.*/"HOSTNAME=something"/' /etc/sysconfig/network
答案 1 :(得分:0)
sed '/HOSTNAME/ c\
"HOSTNAME=something"/' /etc/sysconfig/network
或
sed 's/.*HOSTNAME.*/"HOSTNAME=something"/' /etc/sysconfig/network