|
|
楼主 |
发表于 2018-12-8 20:43:41
|
显示全部楼层
grep -rn "hello,world!" *8 s: P8 r- X/ S0 @4 f+ z$ `
5 B' i* Z. F8 M3 W
4 X: p3 r/ u: R+ W7 l
3 ^* g) T6 O W w8 ~1 J U. f* : 表示当前目录所有文件,也可以是某个文件名
* h) f4 L2 C" m3 n- x
' W0 D% P, Q- `/ L* v-r 是递归查找) |3 k# |2 R# K; ` X, h) G
# F3 S. ^, P( ]-n 是显示行号3 [2 X9 p6 a2 {4 X( }6 H" X7 ]
. |; u% g* m P8 T-R 查找所有文件包含子目录- G# g1 P( W5 M* J5 x/ h
' W- c8 s! ~& l1 k-i 忽略大小写
2 `& @: |; A( W7 d3 Y8 `4 l- O& r
下面是一些有意思的命令行参数:0 W! f' _1 v, I! J4 P
4 y: B2 x5 ] o' K) q5 U5 G. z
Z2 x7 J+ L" e) ~. l8 H
. t% w/ i8 G! H4 O+ v3 @* }grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
8 E8 B$ W J. `& ^6 Y; f* \- y2 j6 e. P+ ~% H
grep -l pattern files :只列出匹配的文件名,
9 V7 Y: i+ D/ `* s, d" u+ e" |& W$ [4 m Y( L
grep -L pattern files :列出不匹配的文件名,
$ ?8 k' J/ M8 a* J) `1 f( f
/ {' A& N# U- i5 L6 hgrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
2 m$ l( G' u- v( j( x @9 U% I4 a. K" E, [) w) W* p L. x4 Z
grep -C number pattern files :匹配的上下文分别显示[number]行,
4 ] t4 l) P; G( G' L% ?: q" d7 ~; B: B7 l4 v% w& F. P P8 ^7 U
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 3 G5 T9 o6 r' ^* g3 }8 Z3 D
! e v6 Z. ? D9 b( ggrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 . s# A1 x8 I' A0 N" T' u1 p& r
. v; ?- F. o7 Q; }这里还有些用于搜索的特殊符号:8 d9 |% R& E/ m& Z& N
" b5 \0 q9 |* k' m. l& i
" s- a7 |( J, `
+ V5 |% n, F. G: W6 R, _\< 和 \> 分别标注单词的开始与结尾。* D% P$ ^+ Y$ {9 p n
& U: Y2 C( R+ P1 _" {例如: 9 k y; W- A- B" _) n5 R/ e& F
6 g. |0 |( T0 J5 y6 a1 ]+ M: v: Agrep man * 会匹配 ‘Batman’、‘manic’、‘man’等, , y& G: t8 l& _* M
4 f! K$ v4 ^$ Q" Rgrep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, / { P) c* `* ?+ g5 i. w
9 D' O+ s8 s9 z; b5 `grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
8 t4 x0 c- X$ U8 T) U5 u* D0 a
) e% c6 G, _- B3 e8 R Q' C'^':指匹配的字符串在行首, @. a6 ?( \1 }/ H
) m3 a( a& u. U5 w& N. v) J
'$':指匹配的字符串在行尾, |
|