查找包含和替换的行

时间:2014-06-17 06:56:10

标签: linux perl bash sed grep

最简单的方法是什么:

在包含

的文本文件中找到该行
listen = /var/run/php5-fpm.sock

并用

替换该行
listen = 127.0.0.1:9000

4 个答案:

答案 0 :(得分:1)

 sed -i 's|listen = /var/run/php5-fpm.sock|listen = 127.0.0.1:9000|' file

答案 1 :(得分:1)

perl -i~ -pe 's|^\s*listen\s*=\s*\K /var/run/php5-fpm\.sock|127.0.0.1:9000|x' file

listen = /var/run/php5-fpm.sock行与自由数量的空格匹配,但仅替换/var/run/php5-fpm.sock部分\K正面看法(与(?<=..)相同)

答案 2 :(得分:0)

试试这个GNU sed命令,

sed -ri 's/.*(listen = ).*/\1127.0.0.1:9000/g' file

更准确,

sed -ri 's/^(listen = )\/var\/run\/php5-fpm\.soc$/\1127.0.0.1:9000/g' file

答案 3 :(得分:0)

perl -i.bak -p -e 's|/var/run/php5-fpm.sock|127.0.0.1:9000|g;' myfile