您的位置:首页 > 运维架构 > Linux

Linux 文件夹下所有文件指定字符串替换

2017-06-20 13:29 519 查看
sed -i "s/learndata/NewDisk\/learndata/g" `grep learndata -rl --include="*.py" ./`


背景:更改代码生成的文件和读取的文件的所在目录,需要更改该所有代码中涉及到文件操作的路径

之前放在learndata文件夹下,现在放在,NewDisk/learndata路径下

sed:文件操作命令

-i:替换

s/str1/str2/表示查找str1并替换为str2,后面跟g表示一行中有多个str1的时候,都替换,而不是仅替换第一个

“之间的表示要替换的文件,使用grep命令搜索。(注意这里不是单引号,是飘)

grep

grep str1 -rl ./中str1为要搜索的字符串,参数r递归搜索文件夹下的所有文件,l查询多文件时只输出包含匹配字符的文件名。

[options]主要参数:

-c:只输出匹配行的计数。

-I:不区分大 小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及 行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux