易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 8064|回复: 6
收起左侧

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 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 `
'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。+ O, G: Z2 Y. `9 x- y4 \
比如:" C: d) m6 B  a4 S3 ^9 x
find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/' : `0 J1 J# u5 R. P% K$ I
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'
' J2 O% s. I, e3 F* e3 |" X每个用法不一样。
$ T/ z) C8 U3 u3 T
+ B& e* {4 W# ]! Ggrep -L pattern files :列出不匹配的文件名,
 楼主| 发表于 2020-3-18 21:53:27 | 显示全部楼层
sudo cat /var/log/sudo.log|uniq  |grep -e "/bin/ovs-vsctl show" -e "/bin/ovs-dpctl dump-flows" -e "/bin/systemctl status openvswitch" -e "/bin/ovs-dpctl dump-flows"  -e "/bin/ovs-appctl bridge/dump-conntracks-summary alubr0" -e "bin/ovs-appctl vm/port-show" -e "/sbin/ip netns exec pat ifconfig" -e "/sbin/ip netns ecec pat ip router"
 楼主| 发表于 2020-3-18 22:02:23 | 显示全部楼层
sudo cat /var/log/sudo.log|uniq  |grep -e "/bin/ovs-vsctl show" -e "/bin/ovs-dpctl dump-flows" -e "/bin/systemctl status openvswitch" -e "/bin/ovs-dpctl dump-flows"  -e "/bin/ovs-appctl bridge/dump- " -e "/bin/ovs-appctl vm/port-show" -e "/sbin/ip netns exec pat ifconfig" -e "/sbin/ip netns ecec pat ip router"2 i9 }  j0 \  W4 h

2 X" E/ f$ @5 Z3 ]% v+ `/ l% r# z sudo cat /var/log/sudo.log|uniq  |grep -e "/bin/ovs-appctl bridge/dump- "
 楼主| 发表于 2020-3-18 22:02:59 | 显示全部楼层
sudo cat /var/log/sudo.log|uniq  |grep -e "/bin/ovs-vsctl show" -e "/bin/ovs-dpctl dump-flows" -e "/bin/systemctl status openvswitch" -e "/bin/ovs-dpctl dump-flows"  -e "/bin/ovs-appctl vm/port-show" -e "/sbin/ip netns exec pat ifconfig" -e "/sbin/ip netns ecec pat ip router"
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 17:16 , Processed in 0.057542 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表