易陆发现互联网技术论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" *8 a; [/ h9 W; w4 P" c6 d9 n; e( |9 U

# S( k7 G- B5 c 4 X# E; i8 u0 t; F
; Y6 I6 [" m& A- o) q9 R
* : 表示当前目录所有文件,也可以是某个文件名
. ?5 a6 i/ u, ?4 n. I- x+ n& m( }) V8 m0 j+ H0 B0 g
-r 是递归查找- G8 x& @( ~+ {5 C/ n

, n9 @9 |* g: R+ W-n 是显示行号
1 H( {$ {: q5 v/ _
4 X3 h. y* x5 V-R 查找所有文件包含子目录7 A  c6 s" k$ z5 a8 U* N
/ ]! D+ m$ o/ s7 c
-i 忽略大小写. v4 l, _: F/ l1 s3 p6 a

& Z4 c1 u. Z) w% ]$ T) k9 d$ o5 ]下面是一些有意思的命令行参数:
- [, n5 m! S5 E/ v- i
1 H/ f" l& b6 G; f ) O" r: _, @3 e
9 i* b. T9 `8 ]! o
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 7 p: n7 m/ t2 J3 m
8 F( L$ D- i9 t$ y# Z/ n" m3 c
grep -l pattern files :只列出匹配的文件名,
* b5 J  e! D5 w( w4 y  [# @- _1 q. t: w. ^" B& I5 w
grep -L pattern files :列出不匹配的文件名,
2 f/ l8 m% V& _2 ^! q0 F
/ P1 X; ?: }- X1 Lgrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), ) a9 R7 H/ z, V3 O2 I7 f

  w, V3 y& b, h: Ogrep -C number pattern files :匹配的上下文分别显示[number]行, $ I+ g8 R$ q7 m; C# {
9 v% U, J+ Z/ F5 N/ c
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 6 N' V+ n. e' u8 Q+ b: q' P8 J

  l+ c( W6 g7 [& M; R& bgrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
. C1 s9 b* e# B+ L+ h0 i% F- l* t$ V& u8 v0 R* O0 t. t
这里还有些用于搜索的特殊符号:
+ q6 a" x# H1 p: K& G5 H7 L% t8 _9 L- w( O) F3 x) T
# t4 r$ P, T4 H
6 H" @& D1 v0 q! D6 ?- ]+ F, _2 w
\< 和 \> 分别标注单词的开始与结尾。
6 x: n5 E! x- e4 X
  U( P! g3 b2 {; o例如: 1 ]+ P6 f6 N! a& a$ u* y# l% f

4 a* o- a/ R# Z5 ?0 ~( W8 [grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
: |+ k! A4 g7 r" a5 T
# w1 D% ]; L6 @3 T  N2 J$ _7 Zgrep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, ' Q" T3 M4 O; Q/ y

& V: r; P2 t! I' F4 ]grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 9 a- t4 i/ Z8 d9 z; L& c2 C

& m+ c# x2 z5 n, N'^':指匹配的字符串在行首, " C, Q& u5 p2 p% @4 M, i1 u

2 H* H0 X8 ~% v$ z+ s'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。
, |9 i) \5 [3 K比如:
' K% P" A. u! Z1 m) p1 ?find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/'
& |" _3 m+ i7 P2 I) A) ~. X
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'! W+ g0 d- n# k
每个用法不一样。* r% H) y6 j3 x* y% m

% S( u! u8 \1 F  Ogrep -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"! {/ Q! O1 E9 O" i# l6 s

5 W3 l  y- t2 e% ]0 M- X 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|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 20:23 , Processed in 0.053703 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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