你好很高兴回答你的问题:
先过滤,然后进行替换的格式为 '//s###g' //表示你要找的内容 s###g表示替换
比如我要找出/etc/passwd中包含bash的行 并把这行中的:替换为-
写法为: sed '/bash/s#:#-#g' /etc/passwd
sed -i '0,/\/plat\/backup\/background/ s/^\*\/5/\*\/8/' /etc/crontab
仅处理第一个以“*/5”开始的行
sed -r 's/(ATTR\{address\}==")[^"]*/\1ABC/' A
结果得到:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ABC", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
是要这个效果吗?
1、首先进入到Linux系统,分别创建两个目录vim1、vim2。
2、分别在vim1、vim2文件夹下创建两个测试文件file1.c、file2.c。
3、然后在file1.c中添加,如下内容。
4、在file2.c中添加如下内容,接下来将要批量将这两个文件中的len替换为size。
5、然后执行如下sed -i "s/len/size/g" `grep len -rl ./`。
6、执行上述命令后,分别再次打开上面新建立的两个文件,可以看到len已经被批量替换为了size。