基本上,我想要做的是用其他东西替换从 awk 解析的结果。 我有以下 awk 命令:
awk '$1~/^DocumentRoot/{print $2}'/etc/apache2/sites-available/default
哪个返回:
/var/www/
我想做的是替换文件中的 /var/www/
(当然,它可以是任何东西,但不能是/var/www/)。我试图通过管道传递 sed 命令,但我不知道该怎么做...
有人可以帮忙吗?
最佳答案
在 text
变量中捕获结果,然后 sed -i
它。
text=$(awk '$1~/^DocumentRoot/{print $2}' /etc/apache2/sites-available/default)
sed -i "s#$text##g" /etc/apache2/sites-available/default
根据您的评论
the file is like this : DocumentRoot /var/www But it also can be like : DocumentRoot /usr/www/
你可以用 sed 做任何事情:
$ cat a
DocumentRoot /var/www
eee
$ sed -i 's#DocumentRoot.*#DocumentRoot hello#g' a
$ cat a
DocumentRoot hello
eee
关于linux - 替换 awk 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890284/