1、查找文件
Linux中查找文件的命令为“find”命令,syntax:
find [起始目录] 寻找条件 操作如,从根目录下开始查找abc.cpp文件
find / -name abc.cpp
在当前目录下所有.cpp文件
find . -name "*.cpp"
find命令,配合-exec参数,可以对查询的文件进行进一步的操作
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加使用转义符反斜杠 ""。
xargs展开find获得的结果,使其作为grep的参数
find ./ -name "*.tmp" -exec rm -rf "{}" /;
删除所有的临时文件
但是rm mv等命令对大量文件操作是报错 -bash: /bin/rm: Argument list too long
可用xargs 解决
删除当前目录下所有.cpp文件
find . -name "*.tmp" | xargs rm
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
find与grep配合使用,用来查找指定目录下的文件内容。grep用于查找文件中的字符串,或能匹配正则表达式的行
grep命令
grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep正则表达式元字符集(基本集)
^ 锚定行的开始 如:"^grep"匹配所有以grep开头的行。
$ 锚定行的结束 如:"grep$"匹配所有以grep结尾的行。
. 匹配一个非换行符的字符 如:"gr.p"匹配gr后接一个任意字符,然后是p。
* 匹配零个或多个先前字符 如:"*grep"匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。
[] 匹配一个指定范围内的字符,如"[Gg]rep"匹配Grep和grep。
[^] 匹配一个不在指定范围内的字符,如:"[^A-FH-Z]rep"匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
(..) 标记匹配字符,如:"(love)",love被标记为1。
< 锚定单词的开始,如:"
> 锚定单词的结束,如"grep>"匹配包含以grep结尾的单词的行。
x{m} 连续重复字符x,m次,如:"o{5}"匹配包含连续5个o的行。
x{m,} 连续重复字符x,至少m次,如:"o{5,}"匹配至少连续有5个o的行。
x{m,n} 连续重复字符x,至少m次,不多于n次,如:"o{5,10}"匹配连续5--10个o的行。
w 匹配一个文字和数字字符,也就是[A-Za-z0-9],如:"Gw*p"匹配以G后跟零个或多个文字或数字字符,然后是p。
W w的反置形式,匹配一个非单词字符,如点号句号等。W*则可匹配多个。
单词锁定符,如: "grep"只匹配grep,即只能是grep这个单词,两边均为空格。
find、grep、xargs经常配合使用,如下:
find -name “.cpp” |xargs grep "test" 查找当前目录下所有的cpp文件中包含test的行。作者:给VMware虚拟机中的Ubuntu扩大磁盘分区Linux CentOS的Vi/Vim命令相关资讯 Linux find命令 Linux命令使用
- Linux基础知识之find命令详解 (08月02日)
- Linux find命令的用法实践 (08/16/2015 11:10:03)
- Linux find命令详述 (02/23/2015 11:30:06)
| - Linux的find命令实例详解和mtime (05月21日)
- Linux find 命令用法总结 (04/30/2015 09:23:48)
- Linux系统find命令详解 (06/16/2014 08:53:34)
|
本文评论 查看全部评论 (0)