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

楼主 |
发表于 2018-12-8 20:43:41
|
显示全部楼层
grep -rn "hello,world!" *
: r) [7 G9 o4 b- L
4 s8 m2 ]1 V6 e9 C/ ~2 A
# S8 g& q( O# u4 r; d* H7 k% q+ k h8 R
* : 表示当前目录所有文件,也可以是某个文件名
$ `, V/ ?" H0 a8 a% k/ i
# c8 X9 V$ y$ a/ k-r 是递归查找
2 K/ j2 R- F4 I' x" \9 f' T2 Y w B6 z( n5 {
-n 是显示行号5 ^2 B4 M7 W" D/ s; z0 N+ P- _
# `' T# S0 B" C7 X, C a9 T' x
-R 查找所有文件包含子目录
, {6 a+ ^/ [( g! J9 z- j+ n( ^8 v5 A0 z9 H$ ?
-i 忽略大小写
1 Z# Y, _4 M+ s7 ~9 M6 w
@3 j- ]' O% r, n下面是一些有意思的命令行参数:
& K% n i2 Y ~1 k) W. Q2 v: v* u9 O0 p. v" Z& f( q
8 B; U8 n# k* F* D/ V3 D9 \- F4 [# v1 `" V8 T1 d9 L
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 2 W* x* {3 N5 P) C4 o4 J, g
% z7 d' \+ Q5 ?' n' Sgrep -l pattern files :只列出匹配的文件名, : y5 d9 p4 Y v3 T C5 G' L( U
9 z& C6 B6 X6 e) G$ K& Z5 m" M8 a
grep -L pattern files :列出不匹配的文件名, * J2 E- M0 i) c' o4 V" x B
/ m0 N, g+ P4 Z" @& T2 A: ogrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 4 z! E/ z- ] i' |
& W$ a+ m" e( T' f: _4 u1 h6 O
grep -C number pattern files :匹配的上下文分别显示[number]行, 6 C$ V5 O. N" c4 f6 ^
/ s3 I& ] Y0 e' k1 p. H
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, * v, i( j1 n/ u- T
5 k. N- p4 d* g0 W" @7 q5 W: p) Dgrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 6 h8 R' j/ W6 M! W/ E. }
8 b1 j- i# [. c% A) K" u
这里还有些用于搜索的特殊符号:7 r# G) t+ z+ f1 x
) L+ Q" V: E- p- [) h$ i5 F' U
1 _2 {! J8 H6 z: p1 g2 q
1 R" e' b9 \! h
\< 和 \> 分别标注单词的开始与结尾。, A S; I9 F: A2 S+ u0 j* Z
! G. U3 D0 ?: I6 M
例如: 1 Q! U* x" ?( f( [2 `- N, U
! U" k7 X# \0 ?# X. w; y* Y
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
- }6 Y" R0 q& |2 q P, B
$ |8 ?7 m" e3 R" Z0 l6 B+ }grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, 4 @0 ]8 z7 P1 T1 s
" C1 E; `/ w. J, o% ~0 D3 |
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
% g8 _# _7 D, m7 Q: t5 Z, w5 ]( E
8 s; z( r5 |& L& \ V/ J7 {' S! h'^':指匹配的字符串在行首,
u) v2 D9 r/ E; i. K) c8 e4 z. [3 s# a1 ], d% S$ `( ~7 u: \
'$':指匹配的字符串在行尾, |
|