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:显示不包含匹配文本的所有行。