Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将grep输出导入sed以替换整行_Linux_Bash_Sed_Grep - Fatal编程技术网

Linux 将grep输出导入sed以替换整行

Linux 将grep输出导入sed以替换整行,linux,bash,sed,grep,Linux,Bash,Sed,Grep,我正在尝试将grep命令的输出通过管道传输到sed命令中的“replace me with”值中。我试过xargs和一根管子,但我似乎无法让它工作。我在堆栈溢出上找到的所有示例都假设我知道grep命令的最终结果。这是一个我正在尝试做的例子 cat /etc/sysconfig/network | grep HOSTNAME | grep -i s/greppedline/"HOSTNAME=something"/ 实际上,我不知道需要替换的行的全部内容,只知道其中包含主机名。如果不从grep命

我正在尝试将grep命令的输出通过管道传输到sed命令中的“replace me with”值中。我试过xargs和一根管子,但我似乎无法让它工作。我在堆栈溢出上找到的所有示例都假设我知道grep命令的最终结果。这是一个我正在尝试做的例子

cat /etc/sysconfig/network | grep HOSTNAME | grep -i s/greppedline/"HOSTNAME=something"/

实际上,我不知道需要替换的行的全部内容,只知道其中包含主机名。如果不从grep命令中创建变量,是否可以作为一个一行程序来执行此操作?

我认为您正在尝试这样做

sed '/HOSTNAME/s/.*/"HOSTNAME=something"/' /etc/sysconfig/network
添加内联编辑
-i
选项以保存所做的更改

sed -i.bak '/HOSTNAME/s/.*/"HOSTNAME=something"/' /etc/sysconfig/network


太棒了,我甚至没意识到我可以用sed的通配符。非常感谢。
sed '/HOSTNAME/ c\
"HOSTNAME=something"/' /etc/sysconfig/network 
sed 's/.*HOSTNAME.*/"HOSTNAME=something"/' /etc/sysconfig/network