Linux 复杂命令
sed -i "s/learndata/NewDisk\/learndata/g" `grep learndata -rl --include="*.py" ./`背景:更改代码生成的文件和读取的文件的所在目录,需要更改该所有代码中涉及到文件操作的路径之前放在learndata文件夹下,现在放在,NewDisk/learnda
·
Linux 文件夹下所有文件指定字符串替换
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:显示不包含匹配文本的所有行。
删除文件夹下指定文件名的所有文件
find . -maxdepth 1 -name "*.jpg" -print -exec rm {} \;
.
表示当期目录-maxdepth 1
表示当前目录下一级目录中-name "*.jpg"
表示所有文件名中含有.jpg
的文件-print
输出到终端-exec rm {} \;
执行删除操作,{}
代表输出到终端的文件路径
文件夹下文件太多,使用ls会卡住
可以显示一部分文件,命令
ls -1f| head -n 10
更多推荐
已为社区贡献1条内容
所有评论(0)