linux sed 批量替换字符串 比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 这个命令组合很强大,要注意备份文件。 (1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed sed 'y/1234567890/ABCDEFGHIJ/' filename ABCDEFGHIJ BCDEFGHIJA CDEFG...
by 中关村村草 - 监控及自动化运维技术 - 2011-11-27 14:34:23 阅读(1891) 回复(0)
linux sed 批量替换字符串 比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 这个命令组合很强大,要注意备份文件。 (1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed sed 'y/1234567890/ABCDEFGHIJ/' filename ABCDEFGHIJ BCDEFGHIJA CDEFGHIJAB D...
cat test.txt 13786118023|sdfssdfecv|sdfexcvggaer|12313745673456|sdfjalk|adlkfj;|sdf cat test.txt | sed 's/13[0-9]\{9\}|/\n&/g' 13786118023|sdfssdfecv|sdfexcvggaer|123 13745673456|sdfjalk|adlkfj;|sdf 这样在cygwin下是正常的。 但是在linux下执行却有问题,结果如下: n13786118023|sdfssdfecv|sdfexcvggaer|123n13745673456|sdfjalk|adlkfj;|sdf 好像是把\n看作是n字母的转义了,请高手解答。
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 这个命令组合很强大,要注意备份文件。 (1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed sed 'y/1234567890/ABCDEFGHIJ/' filename ABCDEFGHIJ BCDEFGHIJA CDEFGHIJAB DEFGHIJABC 注意变换关系是按两...
一、linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grep [color="#0000ff"]www.bcak.com.cn -rl /home` 二、下面这条命令: perl -pi -e 's|ABCD|linux|g' `find ./ -type f` 将调用perl执行一条替换命令,把find命令找到的所有文件内容中的ABCD替换为linux find...
linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的gao为gaoxilin sed -i "s/gao/gaoxilin/g" `grep gao -rl /home` 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29637/showart_303695.html
我想把文件中MASTER替换为BACKUP,同时BACKUP替换为MASTER,就是MASTER和BACKUP互换 sed 's/MASTER/BACKUP/;s/BACKUP/MASTER/' 1 但我这样写合着第一次匹配后第二次又匹配回去了,我看了sed的工作原理,是每次读取一行然后进行操作,能不能sed对一行进行操作了后面的命令就不进行处理了。或有什么更简单的方法可以实现呢
如果: echo '[1 , 2]'|sed 's/\[[0-9]\+,/&\]。\[/g'|sed 's/,\]/\]/g'|sed 's/\[ /\[/g' 得到[1]。[2] 有什么办法 可以把[1 , 2,3]替换成[1]。[2]。[3];把[1 , 2,3 , 4]替换成[1]。[2]。[3]。[4]....?
如何把最后一个逗号去掉:[code]create table tablename ( id int, id2 int, );[/code]变为[code]create table tablename ( id int, id2 int );[/code]