tnfh.net
当前位置:首页 >> linux 批量替换字符串 >>

linux 批量替换字符串

sed全局替换就是啊

sed -ri 's/()/\1test\2/' inputfile

#!/bin/bash FILE=`ls 你文件所在目录` for i in $FILE do sed -i "s/bb/cc/g" 你文件目录/$i done

for i in $(find . -type f -name "*.shtml");dosed -i 's/声明:凡注来源"测试网"以及标有"测试网整理"字样的稿件,未经测试网书面授权不得以任何方式转载,已授权的须注明来源为"测试网"。/声明:凡注来源"测试网"字样的稿件,未经新文化报书...

sed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' yourfile先匹配aaa,匹配到后执行大括号里的语句。 n 读取下一行 s/123/xyz/g 将123替换为xyz,全局替换,同一行中出现几次替换几次 :a 设定跳转标签a /eee/!ba 若当前行匹配不上eee,则跳转到标签a...

给出一个文本文件, 没有描述文件格式, 就直接在后面提到"序列", "名称"是个很奇怪的事情, 也许你可以考虑说明一下. 在你说明之前我假设每个">"开头的地方都是一行文本, 名称是类似"HWI-ST1276:146:C39RYACXX:2:1101:1795:1911"的文本, 你举的例...

一个复制多个 #!/bin/bash #a..z代表从字面a到z的26个名字 替换成你要的名字即可 名字之间留空格 #比如 for i in 张三 李四 王五 for i in {a..z} do cp -pv 你的文件名 $i done 修改文件内容 #!/bin/bash for i in 文件1 文件2 文件3 do sed -i...

1.用for灵活,文件名中字符替换,加日期等都可 先用下面语句测试一下 for i in *aa* ;do NN=$(echo $i | sed 's/aa/bb/') ;echo "$NN";done 保险起见,只拷贝 for i in *aa* ;do NN=$(echo $i | sed 's/aa/bb/') ;cp "$i" "$NN";done 这是更名,...

思路:先找到文件,再替换 find /yourfolder/subdir -exec {sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`}\;

一条语句就够了: cat 1.txt | sed -r "s/[0-9]{8}/`date -d yesterday +%Y%m%d`/" > 2.txt

网站首页 | 网站地图
All rights reserved Powered by www.tnfh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com