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

楼主 |
发表于 2018-12-8 20:43:41
|
显示全部楼层
grep -rn "hello,world!" *
% c# p2 F" V- K+ L* I4 @4 H" y/ m! A- X/ k# [1 E) F2 h1 S$ ^
9 ~& A5 i0 O c' T
0 X5 D. o& \: U1 X: p
* : 表示当前目录所有文件,也可以是某个文件名& p% q0 K D0 E. @
- e& P; O9 e: b' Q+ V E J
-r 是递归查找+ e( L* F8 q# i9 ]% A6 n
/ S) W' r3 M& Y$ L) R) t. W
-n 是显示行号
$ O F) l8 c0 O
$ ^! F. h! S9 W2 c-R 查找所有文件包含子目录
$ G5 b8 `& f+ I) I3 F9 C. R5 N! ~9 d- o9 ^ I& w
-i 忽略大小写
, u! z; `1 B8 m* @' H! U# \- T5 u z0 r8 K, B
下面是一些有意思的命令行参数:
1 B) i& B* P9 h# h1 B0 K# C8 j# r5 a5 p* T( A) c6 s2 k9 }) d
' T+ `2 ]& W# }) v2 v* \, a8 j1 S8 u3 d4 g5 | b4 G6 ^
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, / E Q; p( x$ A/ H# R
. P ~" d: |# m) [2 dgrep -l pattern files :只列出匹配的文件名, # P( Y2 e' l2 C
$ K7 }6 m4 ^: ~# B
grep -L pattern files :列出不匹配的文件名,
3 z, T: ?. C) P7 R* j
/ J/ p& D' c# `% @# Qgrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), ' {7 B/ `2 X- [; {& Z1 Z/ c: h
( c8 l4 L! ]' I6 Y6 fgrep -C number pattern files :匹配的上下文分别显示[number]行, 0 b8 b" x: A' x* f/ g
1 `! m, l0 j4 X3 Wgrep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, & H1 `. G' d8 A& I, d# U
G) t& o" u/ igrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 ) a9 Q( Y% b4 ^
! e6 Y4 @) w; J3 b( L* m) y这里还有些用于搜索的特殊符号:4 h0 L1 X* z# I: b4 h7 U: i9 v& ^
* |; w# r: n {2 X. f$ a1 n$ J ) W% j$ ~9 X4 q- B; B; u5 ~8 j
1 l" Z+ V7 O, O4 k
\< 和 \> 分别标注单词的开始与结尾。 c: ~9 i4 A1 {! {5 [- x
) w1 B7 m; T h6 o$ t, X8 k* R例如:
/ H" f+ C5 Z( [& `1 w- U
, Y0 L, s& [( ygrep man * 会匹配 ‘Batman’、‘manic’、‘man’等, 8 v& t- z9 ^( F( v. u3 f
+ ?# o- L9 o! J# e2 `! \* V
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
% G: \3 q: P( e$ W2 R& ?6 k' x; _1 q2 B! u) x8 d* {. f# ?; u
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 1 O( n/ f% _+ H9 M" s6 @5 Z2 o A
- I/ @% z# V) |2 p'^':指匹配的字符串在行首,
% R+ |$ F" e! H) ]9 ~! x" j: ~3 E. N9 h+ P
'$':指匹配的字符串在行尾, |
|