find和grep的使用

前端之家收集整理的这篇文章主要介绍了find和grep的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_5@
1、find @H_403_5@
语法格式: find [path] [options] [tests] [actions] @H_403_5@

@H_403_5@
[path]是路径,可以是绝对路径、相对路径,或者多个路径。 @H_403_5@
[options]下面列出一些主要选项: @H_403_5@

@H_403_5@

@H_403_5@

@H_403_5@
@H_403_5@
[tests] @H_403_5@

@H_403_5@
@H_403_5@
-size n[cwbkMG] @H_403_5@
File uses n units of space. The following suffixes can be used: @H_403_5@
@H_403_5@
`b' for 512-byte blocks (this is the default if no suffix is @H_403_5@
used) @H_403_5@
@H_403_5@
`c' for bytes @H_403_5@
@H_403_5@
`w' for two-byte words @H_403_5@
@H_403_5@
`k' for Kilobytes (units of 1024 bytes) @H_403_5@
@H_403_5@
`M' for Megabytes (units of 1048576 bytes) @H_403_5@
@H_403_5@
`G' for Gigabytes (units of 1073741824 bytes) @H_403_5@

@H_403_5@
还可以使用操作符来组合这些测试项。 @H_403_5@

@H_403_5@
@H_403_5@
可以使用括号来强制测试和操作符的优先级,但是要注意使用使用反斜杠"\"来引用括号,以确保括号没有被shell扩展。如果文件名使用通配符,要用双引号引起来,以确保直接传递给find命令。 @H_403_5@
假设/home/qyh/temp下有如下文件: @H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
@H_403_5@
如果要在当前路径下找到比phone新的文件夹,或者以N开头的文件,那么可以使用如下命令: @H_403_5@
find ./ \( \( -newer ./phone -a -type d \) -o -name "N*" \) -print @H_403_5@
如果正确执行的话,会输出 @H_403_5@
./hah @H_403_5@
./NetSetting @H_403_5@
验证一下: @H_403_5@
@H_403_5@
@H_403_5@
@H_403_5@
经过测试和验证,发现 在括号的左右两侧必须留一个空格,才能正常识别指令。 @H_403_5@
[actions] @H_403_5@

@H_403_5@
@H_403_5@
{}是-exec和-ok的一个特殊参数,代表当前完整路径。 @H_403_5@
-ls会打印出find找到的文件的详细参数。 @H_403_5@

@H_403_5@
@H_403_5@
find命令还有很多相关参数,可用命令 man find查看。 @H_403_5@

@H_403_5@
2、grep @H_403_5@
grep是General Regular Expression Parser的简称,即通用正则表达式解析器。一般是使用find来查找文件,用grep来查找字符串。 @H_403_5@
可以将grep作为传递给-exec的一条命令。 @H_403_5@
语法格式: grep [options] PATTERN [FILES] @H_403_5@
如果没有提供文件名,grep命令将搜索标准输入。 @H_403_5@
[options] @H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
-n 顺便输出行号 @H_403_5@
-R,-r 到下级目录,递归的查找 @H_403_5@
假设有这样一个文件: @H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
@H_403_5@
那么,用grep命令来做几个测试: @H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
正则表达式 @H_403_5@
(1)、特殊字符 @H_403_5@
如果要将特殊字符用做普通字符的话,必须加反斜杠"\"。 @H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
(2)、匹配模式 @H_403_5@

@H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
@H_403_5@
@H_403_5@
(3)、如果使用了扩展匹配-E选项,那么下面的字符要加上反斜杠。 @H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
例子: @H_403_5@
找到以";"结尾的行 @H_403_5@

@H_403_5@
@H_403_5@
@H_403_5@
找到以ha开头而且是4个字母的单词的行 @H_403_5@

@H_403_5@
@H_403_5@
找到字符串尾部有6个小写字母的字符串的行(如下所示,\{6\}周围不能有空格) @H_403_5@

@H_403_5@
@H_403_5@
grep命令还有很多相关参数,可用命令 man grep查看。 @H_403_5@

猜你在找的正则表达式相关文章