1、find
语法格式:
find [path] [options] [tests] [actions]
[path]是路径,可以是绝对路径、相对路径,或者多个路径。
[options]下面列出一些主要选项:
[tests]
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
`b' for 512-byte blocks (this is the default if no suffix is
used)
`c' for bytes
`w' for two-byte words
`k' for Kilobytes (units of 1024 bytes)
`M' for Megabytes (units of 1048576 bytes)
`G' for Gigabytes (units of 1073741824 bytes)
还可以使用操作符来组合这些测试项。
假设/home/qyh/temp下有如下文件:
find ./ \( \( -newer ./phone -a -type d \) -o -name "N*" \) -print
如果正确执行的话,会输出
./hah
./NetSetting
验证一下:
经过测试和验证,发现
在括号的左右两侧必须留一个空格,才能正常识别指令。
[actions]
{}是-exec和-ok的一个特殊参数,代表当前完整路径。
-ls会打印出find找到的文件的详细参数。
find命令还有很多相关参数,可用命令
man find查看。
2、grep
grep是General Regular Expression Parser的简称,即通用正则表达式解析器。一般是使用find来查找文件,用grep来查找字符串。
可以将grep作为传递给-exec的一条命令。
语法格式:
grep [options] PATTERN [FILES]
[options]
-n 顺便输出行号
-R,-r 到下级目录,递归的查找
假设有这样一个文件:
那么,用grep命令来做几个测试:
正则表达式
(1)、特殊字符
如果要将特殊字符用做普通字符的话,必须加反斜杠"\"。
(2)、匹配模式
(3)、如果使用了扩展匹配-E选项,那么下面的字符要加上反斜杠。
例子:
找到以";"结尾的行
找到以ha开头而且是4个字母的单词的行
找到字符串尾部有6个小写字母的字符串的行(如下所示,\{6\}周围不能有空格)
grep命令还有很多相关参数,可用命令
man grep查看。
原文链接:https://www.f2er.com/regex/362334.html