将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" *, \3 z& N4 a7 v

$ P" `0 x- r9 h+ a) N - L2 _8 v! d6 W+ S! H5 L5 f  h6 q
9 d/ h% u* I; K% M6 p- f% d
* : 表示当前目录所有文件,也可以是某个文件名# G2 o8 r, x# k; t7 q9 \7 ?
7 M8 @  x& x+ @) }% w! M
-r 是递归查找
, q5 ^; U3 \: @; Q; b
. i: K+ s2 c3 k6 V8 L-n 是显示行号! ?# w# K" `# z: b: {) p

+ v1 U- ]+ A% h! S* \. J! j-R 查找所有文件包含子目录. i% c& J9 {6 G4 E: b1 e3 v
  N( M$ z9 ~  m! n3 J( _- l
-i 忽略大小写
! ^( n2 `4 P& M; f! g9 Y
& ]) g+ D5 y6 d4 S下面是一些有意思的命令行参数:
% g7 W# v3 I$ _4 ], }' p8 v: m  m+ A3 ^
+ f- T1 O$ `9 |+ a# y& Y: `8 R. _
% j& i% {0 p' r+ ]5 M
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 9 |5 o: k) }( `; H# A0 C

5 ^" {' t$ T5 \; @7 c" ngrep -l pattern files :只列出匹配的文件名, $ e  _0 t5 @8 q* D( ?, v0 @

: z5 l9 O) S" X6 l" wgrep -L pattern files :列出不匹配的文件名, ( k9 q: V% D" C  }4 K- c

5 {5 e' Y+ b6 M0 m0 s2 X0 |7 @+ Xgrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
# Q* V' x7 A) F) s6 B" V0 |0 q" v
grep -C number pattern files :匹配的上下文分别显示[number]行,
" a$ y! h( t5 \2 ^
" C& ~% |$ p- I9 s* Ugrep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
3 U+ I/ ]2 E! Q0 O1 v! a* s  b7 d, r6 i) q# S) j$ A5 L
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
) P5 t; O- g8 ~( _( r; `# j0 Y2 l  Z- O$ t
这里还有些用于搜索的特殊符号:, y( V8 s# z% W# Y) T
3 r, e: s2 U" o, Z9 e+ W: t# @
" l: Z) I: L# R0 |4 {* V4 |

' ?1 a: K8 j  S0 ^# w\< 和 \> 分别标注单词的开始与结尾。2 x& @' g& i7 M+ P' i

5 A/ r  N- W2 T! f4 ?( Y& [例如:
% t1 g% t/ c5 d6 T' N( S) t& |4 b. }* P8 [( \. b6 U
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, % r8 O& U, k, V' }, h
2 H. o' p/ E) c+ E9 T, q
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
4 F$ C) m" \' S
# ]9 x% ^2 N$ B7 a- n& agrep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 * g( O, z/ T4 s# ^/ s0 m
8 ^/ G) A1 v3 Y! v; X6 h
'^':指匹配的字符串在行首,
( x$ z2 ~7 v/ c5 b9 I: w; A+ H8 ?% W
'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。
1 {! V# t* n) z; n比如:# H) D3 d4 z( C* a, ?
find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/' 9 Z4 Z- Y0 g2 [- v3 |
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'1 h% P) V. o1 V) T
每个用法不一样。* n1 q7 r2 G+ ~. Z
* i0 y2 P- q. L" G
grep -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"- F" v7 B( u# A5 B* D% Z

- E+ U% e- Z8 O* m9 @2 K! O/ L 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 下一条

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2021-6-20 20:59 , Processed in 0.051584 second(s), 25 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

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