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

楼主 |
发表于 2018-12-8 20:43:41
|
显示全部楼层
grep -rn "hello,world!" *
+ H0 a& h0 G, G5 k' ?! ?4 v3 m; {7 `# Q- v
# P0 o5 N$ c9 }* \3 r8 v
2 H+ I# {, V# o/ V: q* : 表示当前目录所有文件,也可以是某个文件名
4 N# I# R& O! ]$ w! w- k
$ W4 }( Z5 e8 z3 B3 ] o-r 是递归查找
$ ?9 }& M. [& \1 z& }) c
* }/ p3 h) ]' T0 {-n 是显示行号
: |- T: I7 A) d9 v ~2 a
3 k N& H, l O. M7 `-R 查找所有文件包含子目录
' m- U# r% A. ^$ K6 t% M4 s7 F8 F$ u2 A# G) J0 o5 m
-i 忽略大小写
1 v) o) ~0 x7 l" q" O# K9 J9 a7 K& w. F4 o4 w; p( w7 k
下面是一些有意思的命令行参数:
9 E& H# n I' i# g9 F: o+ T' O, i2 J0 i: ] \. m7 W
! E8 x0 O6 N' b" }- C; g+ z
* F0 H/ o" q- E4 p+ L U" u
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
2 R* o6 I4 r7 b, b% @* x
7 r; e. O) W6 M) Vgrep -l pattern files :只列出匹配的文件名, ! r) A% O0 S0 j+ M/ r# g
' S$ k: S1 u0 U n1 n) dgrep -L pattern files :列出不匹配的文件名,
9 A# {" Z: U8 N+ p; l! L4 J* E& s' }3 N! s6 ?) c) J
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), m6 q; |' M2 g W; X
" X# W' g4 o) Q/ egrep -C number pattern files :匹配的上下文分别显示[number]行,
- t- Y8 D+ i: ^* f% G# C: h' Y8 F% W3 q' Y( f; Y# R: p, p8 e
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, : x7 t, _- z& [8 U9 B
. e2 B; {1 K% Lgrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 D7 p3 O# N: @: J2 c
& _# G, c& j& w5 w* h+ S! R: t这里还有些用于搜索的特殊符号:
" j+ r# N- z' i6 i* b
- B j- i4 | [; f4 \' F : y, q- q6 k' m% v# u5 s: C g
* x- q$ W" e3 O" S, P) e
\< 和 \> 分别标注单词的开始与结尾。. g+ y% ]' A- T9 ^
1 C5 h' p2 e$ F; ]# J) U例如: ( b' K2 x @' u2 ~3 z
4 ^# V0 Q$ r5 e. u( S# {/ {8 x
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, % f$ c3 h8 X$ j1 j
' n0 d( f" I$ Pgrep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, , \4 ^' `' q/ R7 o& p0 l2 Z; s
* ?: p" i8 [1 Z8 H, L' W3 igrep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 0 k, m3 r% A6 S1 K r
: N5 S' s) Q! @# Z'^':指匹配的字符串在行首, & p, w; y h* Y- K9 U' x
1 b" t& G3 u/ B0 L'$':指匹配的字符串在行尾, |
|