一、linux sed 批量替换多个文件内容
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
其中,grep oldstring -rl yourdir是查寻目录中文件内容
如将indexeddb目录里的文件内容替换
#IDBTransaction.READ_ONLY替换为"readonly"
sed -i "s/IDBTransaction.READ_ONLY/\"readonly\"/g" `grep "IDBTransaction.READ_ONLY" -rl indexeddb/`
#driver.get_current_url()替换为driver.current_url
sed -i "s/driver.get_current_url()/driver.current_url/g" `grep "driver.get_current_url()" -rl webdriver/`
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
二、Perl命令:
perl -pi -e 's|ABCD|Linux|g' `find ./ -type f`
将调用perl执行一条替换命令,把find命令找到的所有文件内容中的ABCD替换为Linux
find ./ -type f
此命令是显示当前目录下所有的文件
上面的“s|ABCD|Linux|g”是perl要执行的脚本,即把所有ABCD替换为Linux
如果不写最后的那个g,“s|ABCD|Linux| ”将只替换每一行开头的ABCD
三、行尾匹配
如下:清除行尾的'/'
grep "<link rel=\"author\" title=\"Intel\" href=\"http:\/\/www.intel.com\" \/>" -rl ./ |xargs -I% sed -i 's/\/>$/>/g' %
注意表达式:s/ \ /> $/ > /g(即'/>' to '>')
几点说明:
1."^"代表行首,"$"代表行尾
2.'s/$/&TAIL/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了
3.>> :如果文件不存在,将创建新的文件,并将数据送至此文件;如果文件存在,则将数据添加在文件后面
4.> :如果文件不存在,同上,如果文件存在,先将文件清空,然后将数据填入此文件.
相关推荐
Linuxsed批量替换字符串方法.pdf
linux下perl,sed,shell批量替换文件内容.docx
Linuxsed批量替换字符串方法[归类].pdf
很详细的关于linux sed的用法,每种用法都有详细的举例。
本篇文章主要介绍了linux下批量替换文件内容的三种方法(perl,sed,shell),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
在shell中,使用sed来批量修改文本内容是非常方便的。 sed命令的选项 sed [选项] [动作] 选项与参数: -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上...
本文主要给大家介绍了关于Linux shell用sed批量更改文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 示例 去除特定字符 目标:将 2017-01-01.jpg、2018-01-01.jpg 改为 ...
for循环结合sed替换ls结合awk,输出交给bash执行rename命令改名for循环加变量部分截取不使用echo也可以实现根据文件批量修改文件名提供的文档
像linux的 grep和sed一样的批量文本替换工具,运行在windows系统上
我们在linux的操作中经常会对文件中的字符串进行替换、统计...批量替换字符串 sed -i “s/查找字段/替换字段/g” grep 查找字段 -rl 路径 -rl 表示所有子目录 sed -i s/new Str/old Str/g 'grep old Str -rl filename'