![](/img/trans.png)
[英]Replace string in XML file with awk/sed with string from another file
[英]Replace result from awk
基本上,我想做的是將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
根據您的評論
該文件是這樣的:DocumentRoot / var / www但它也可能是這樣的:DocumentRoot / usr / www /
您可以使用sed做所有事情:
$ cat a
DocumentRoot /var/www
eee
$ sed -i 's#DocumentRoot.*#DocumentRoot hello#g' a
$ cat a
DocumentRoot hello
eee
我猜您想用其他替換/var/www/
的方法,比如說/var/www2/
並顯示修改后的路徑。 如果是這樣的話
awk '$1~/^DocumentRoot/{print $2="/var/log/"; print;}' /etc/apache2/sites-available/default
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.