Linux grep、find命令
一、greplinux下行过滤工具
语法:grep [options]
参数
1. -A NUM,--after-context = NUM(除了列出符合行之外,并且列出后NUM行) ex:grep -A 1 GET server.20121230.log
2. -a或--text grep原本是搜索文字文件,若拿二进制的档案作为搜寻的目标,则会显示如下的讯息:Binary file二进制文件名maches然后结束。若加上-a参数则可讲二进制档案视为文本文件搜寻,相当于--binary-files=text
3. -B NUM,--before-context=NUM 显示的是之前的行
4. -C[NUM],-NUM,--context[=NUM] 列出符合行之外并列出上下各NUM行,默认值是2.ex:grep -C 2 GET server.20121230.log
5. -b,--byte-offset 列出样式之前的内文总共有多少byte..ex:grep -b GET server.20121230.log
6. --binary-files=TYPE
7. -c,--count 不显示符合样式行,只显示符合的总行数。若再加上-v,--invert-match,参数显示不符合的总行书。
8. -d ACTION, --directories=ACTION若输入的档案是一个资料夹,使用ACTION去处理这个资料夹。预设ACTION是read,也就是说此资料夹会被视为一般的档案;若ACTION是skip,资料夹将被grep略过;若ACTION是recurse,grep会去读取资料夹下所有的档案。ex:grep -d recurse GET /Users/seaeast/log
9. -E, --extended-regexp 采用规则表示式去解释样式
10. -e PATTERN, --regexp=PATTERN
11. -f FILE, --file=FILE 事先将要搜寻的样式写入到一个档案,一行一个样式。然后采用档案搜寻,空的档案表示没有要搜寻的样式,因此也就不会有任何符合。ex:grep -f newfile file
12. -G,--basic-regexp将样式视为基本的规则表示式解释
13. -H,--with-filename在每个符合样式行前加上符合的文件名称,若有路径会显示路径。ex:(在file月testfile中搜寻panda样式)
14. -h,--no-filename与13参数相类似,但在输出时不显示路径。
15. --help
16. -I grep会强制认为此二进制档案没有包含任何搜寻样式,与--biniart-files=without-match参数相同.ex:grep -I pand mv
17. -i, --ignore-case忽略大小写
18. -L,--files-without-matches不显示平常一般的输出结果,反而显示没有符合的文件名称
19. -l, --files-with-matches 不显示平常一般的输出结果,只显示符合的文件名称
20. --mmap
21. -n,--line-number 在显示行前,标上行号。ex:grep -n demo file
22. -q,--quit,--silent 不显示任何的一般输出
23. -R -r,recursive 递归地,读取每个资料夹下的所有档案
24. -s,--no-messages 不显示关于不存在活无法读取的错误讯息
25. -V,--version
26. -v --invert-match
27. -w, --word-regexp
28. -x, --line-regexp
[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用於單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
\:忽略正則表達式中特殊字符的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\<:從匹配正則表達式的行開始。
\>:到匹配正則表達式的行結束。
[ ]:單個字符,如[A]即A符合要求。
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的單個字符。
* :有字符,長度可以為0。
more /Users/seaeast/log/server.20121010.log |grep '500 GET' -n
二、find
ex:
find / -name httpd.conf
find . -name "*.log"
参考资料:
http://blog.csdn.net/greytree/article/details/428532
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
语法:grep [options]
└─(12:15:%)── grep ──(Tue,Jan22)─┘ usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]] [-e pattern] [-f file] [--binary-files=value] [--color=when] [--context[=num]] [--directories=action] [--label] [--line-buffered] [--null] [pattern] [file …]
参数
1. -A NUM,--after-context = NUM(除了列出符合行之外,并且列出后NUM行) ex:grep -A 1 GET server.20121230.log
2. -a或--text grep原本是搜索文字文件,若拿二进制的档案作为搜寻的目标,则会显示如下的讯息:Binary file二进制文件名maches然后结束。若加上-a参数则可讲二进制档案视为文本文件搜寻,相当于--binary-files=text
3. -B NUM,--before-context=NUM 显示的是之前的行
4. -C[NUM],-NUM,--context[=NUM] 列出符合行之外并列出上下各NUM行,默认值是2.ex:grep -C 2 GET server.20121230.log
5. -b,--byte-offset 列出样式之前的内文总共有多少byte..ex:grep -b GET server.20121230.log
6. --binary-files=TYPE
7. -c,--count 不显示符合样式行,只显示符合的总行数。若再加上-v,--invert-match,参数显示不符合的总行书。
8. -d ACTION, --directories=ACTION若输入的档案是一个资料夹,使用ACTION去处理这个资料夹。预设ACTION是read,也就是说此资料夹会被视为一般的档案;若ACTION是skip,资料夹将被grep略过;若ACTION是recurse,grep会去读取资料夹下所有的档案。ex:grep -d recurse GET /Users/seaeast/log
9. -E, --extended-regexp 采用规则表示式去解释样式
10. -e PATTERN, --regexp=PATTERN
11. -f FILE, --file=FILE 事先将要搜寻的样式写入到一个档案,一行一个样式。然后采用档案搜寻,空的档案表示没有要搜寻的样式,因此也就不会有任何符合。ex:grep -f newfile file
12. -G,--basic-regexp将样式视为基本的规则表示式解释
13. -H,--with-filename在每个符合样式行前加上符合的文件名称,若有路径会显示路径。ex:(在file月testfile中搜寻panda样式)
14. -h,--no-filename与13参数相类似,但在输出时不显示路径。
15. --help
16. -I grep会强制认为此二进制档案没有包含任何搜寻样式,与--biniart-files=without-match参数相同.ex:grep -I pand mv
17. -i, --ignore-case忽略大小写
18. -L,--files-without-matches不显示平常一般的输出结果,反而显示没有符合的文件名称
19. -l, --files-with-matches 不显示平常一般的输出结果,只显示符合的文件名称
20. --mmap
21. -n,--line-number 在显示行前,标上行号。ex:grep -n demo file
22. -q,--quit,--silent 不显示任何的一般输出
23. -R -r,recursive 递归地,读取每个资料夹下的所有档案
24. -s,--no-messages 不显示关于不存在活无法读取的错误讯息
25. -V,--version
26. -v --invert-match
27. -w, --word-regexp
28. -x, --line-regexp
[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用於單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
\:忽略正則表達式中特殊字符的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\<:從匹配正則表達式的行開始。
\>:到匹配正則表達式的行結束。
[ ]:單個字符,如[A]即A符合要求。
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的單個字符。
* :有字符,長度可以為0。
more /Users/seaeast/log/server.20121010.log |grep '500 GET' -n
二、find
└─(19:28:%)── find ──(Tue,Jan22)─┘ usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression] find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
ex:
find / -name httpd.conf
find . -name "*.log"
参考资料:
http://blog.csdn.net/greytree/article/details/428532
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐