- 积分
- 16842
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2018-12-8 20:43:41
|
显示全部楼层
grep -rn "hello,world!" *# C- k: _+ _' |7 e
: y- t% f: i; R8 L
1 N/ k- M2 H+ N6 e' D' H' R4 i" f" l; b+ B5 i. B0 N# o4 D
* : 表示当前目录所有文件,也可以是某个文件名' P. m b/ {- k8 Y
$ C. f+ b& l7 S3 }" X7 O-r 是递归查找
( l* d5 v6 T' x8 M" M( ^$ S( j* |0 o/ O& h# r. ]# m) G
-n 是显示行号
1 D* ?5 @; o! U7 _! O* @+ I% _
8 g2 S g+ B( E, X-R 查找所有文件包含子目录
) @! f; ?: U7 X
2 D: o" x3 O: e9 l-i 忽略大小写6 ^/ {1 a% R g3 @. T/ G/ p
# A2 Z- W7 a, g' t+ I* z下面是一些有意思的命令行参数:
" \& S. G0 Z# ]1 D( Y
+ ^2 v6 {3 w( H& j" _1 [ & a: r! l2 P- P$ C$ S8 e+ Y2 T
+ {# D6 d- P& W; W
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, + E e7 R* w# z9 P! Y' p
" n2 O% S) ]9 q) }* f
grep -l pattern files :只列出匹配的文件名, " P; U8 z4 X- y4 E$ z
& F, w* ~) Y; K& a( T: f+ [
grep -L pattern files :列出不匹配的文件名,
5 x" j* x# Z+ ~% ?3 `/ U% `
4 d, @7 m; B5 Z$ t; x# Sgrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
# s) b4 R* I0 j6 E; h$ w5 ^ `, g' w. w- k; R1 P
grep -C number pattern files :匹配的上下文分别显示[number]行, 7 J- [. l7 E) Y* z' u$ m
# i' ~& Y# {' N: R- A3 agrep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, ; t3 V, O+ ? A: M
# g9 G: b1 d& _3 J& @0 \+ mgrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
4 l8 B$ |2 ?8 p3 q# _; E0 `, K
1 u4 T4 F8 S4 ?这里还有些用于搜索的特殊符号:
2 M i* e) _7 p% p# h( R" @1 G7 j& q: R
! ^' _% b" T$ R# k7 e2 @% X1 P
; `: l4 _2 C% z# U0 N5 W\< 和 \> 分别标注单词的开始与结尾。
/ O8 A: B, C: @
3 p) |: B1 z6 _1 @+ `2 o例如:
8 H1 `& {3 v. _. q$ ~5 j: m4 Z/ z& I O. [2 t4 g
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
( r& G6 N2 B2 b/ A6 c7 D5 I" E4 T
# A: f* P. B. S. c% ^grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
# ], g9 r1 r0 v; g- s
, U% K9 o4 @ s" D7 i2 x k* z2 Ggrep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
" \& \; J, a2 \. F; @1 ~) i2 O7 H! ?; \' u4 O" K( f
'^':指匹配的字符串在行首, % q; \9 e# [/ F/ C( E
; ~- D! L& O* G3 `
'$':指匹配的字符串在行尾, |
|