fine
find [path] [options] [tests] [actions]
options:
-
depth: 在查看目录之前先搜索目录的内容;

-
-follow: 跟随符号链接; -
-maxdepth N: 最多搜索N层目录; -
-mount: 不搜索其它文件系统中的目录;

tests:

-atime N: 文件在N天之前被最后访问过;-mtime N: 文件在N天之前被最后修改过;-name pattern: 文件名,不包括路径名;-newer otherfile: 文件比 otherfile 文件要新;-type c: d:目录,f:普通文件;-user name: 文件的拥有者是指定的用户 username;
- 搜索当前目录下比文件while2要新的文件:
find . -newer while2 -print,可能还会包括当前目录; - 如果仅要普通文件结果:
find . -newer while2 -type f print - 查找以下划线开头的文件或者比while2要新的文件:
find . \( -name "_*" -or -newer while2 \) -type f -print
actions:
exec command: 执行一条命令。这个动作必须使用\;来结束;-ok command: 与上一个类似,但是会针对每个要处理的文件,提示用户进行确认;-print: 打印文件名;-ls:find . -newer while2 -type f -exec ls -l {} \;
grep-(General Regular Expression Parser)
使用find命令在系统中搜索文件,使用grep命令在文件中搜索字符串。
grep [options] PATTERN [FILES]
options:
-
-c: 输出匹配行的数目,而不是输出匹配的行; -
-E: 启用扩展表达式; -
-h: 取消每个输出行的普通前缀,即匹配查询模式的文件名; -
-i: 忽略大小写; -
-l: 只列出包含匹配行的文件名,而不输出真正的匹配行; -
-v: 对匹配模式取反,即搜索不匹配行而不是匹配行; -
grep in words.txt查询字符 in -
grep -c in words.txt words2.txt -
grep -c -v in words.txt words2.txt
正则表达式
^: 指向一行的开头;$: 指向一行的结尾;.: 任意单个字符;[]: 方括号内包含一个字符范围,其中任何一个字符都可以被匹配,例如字符范围a~e,或在字符范围前面加上^符号表示使用反向字符范围,即不匹配指定范围内的字符;
…










