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

易陆发现论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" *. F% K) B5 l# C7 \, g
- y- \0 k+ x; b# g3 U& H# y8 L2 {- j1 P

( \4 D7 C% q& m* A% w/ J
, S; ^2 o) }- e+ ], O* : 表示当前目录所有文件,也可以是某个文件名/ ^% {* I1 {: s

9 \: r# P: S; X" R5 C-r 是递归查找( Z% x5 n" P* J# J
7 e' Y5 o+ A* I" l' t' t  e: |
-n 是显示行号8 ~: z4 l  a! e' a, H

3 D2 v& _% i' O) x- W1 R4 o-R 查找所有文件包含子目录
- E+ m, p; c+ K. a$ E: l/ q
" |% y* I& Q- V6 [-i 忽略大小写/ d# g% c2 r5 M  y9 x  G. g9 R

& |& G, t( B8 d. i1 C) w$ I下面是一些有意思的命令行参数:
" ~; T1 D- {. E! g( U" }
8 s7 X7 K: z$ n! W! b, w, p ' \1 t- X$ }$ [  b- d

( I1 x  L' Y! m  N4 Egrep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
1 x  ?: G7 W0 k/ I1 D7 x3 W# h. y' ]/ T8 a5 A# {
grep -l pattern files :只列出匹配的文件名, . Q1 G' z2 R9 o* y8 l
$ f5 O2 a+ r  o; O/ H
grep -L pattern files :列出不匹配的文件名,
; \4 |' m8 m8 a' r4 n  m3 a
" l7 o/ R( E, p7 W! s6 _grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
& d3 X: u  S4 t# Y( [! k% a: P
) o* f0 W% B9 a  J& C# L9 M; Ogrep -C number pattern files :匹配的上下文分别显示[number]行, 6 p+ o* u# t: h$ U7 n6 R5 E) A5 `

  j5 X* C6 ~* c% T/ fgrep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
- \* C6 c4 d: n, e
9 C  Z1 D' x0 Y" E5 o6 egrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
; F( Y7 B8 \3 k( @% {6 w. w6 u( o: F6 e! ?- X& z
这里还有些用于搜索的特殊符号:
: d6 g, |: t9 @+ K6 @6 w/ T( h$ B. h  |
/ f7 o7 f+ k. |
! d' ?- \$ x+ Y, l
\< 和 \> 分别标注单词的开始与结尾。
4 q' R) v9 z- @8 I- c0 t& |2 ]
! _, b  g$ D; D( y" A例如:
& G8 J  Q9 ?" _- x: r
, r& D, a" f2 ?3 y: E. b) _: A, tgrep man * 会匹配 ‘Batman’、‘manic’、‘man’等, / _8 c5 M3 Q( t6 R1 t7 W+ b  ~  P' L9 h- q

- o) Q; ?5 U2 h- z3 N; @grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, 5 s. c  M$ M" Y: ]0 r$ i
0 P# K; r- S  a: S! y+ Z$ f/ j: O
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
% O5 H- K) g3 I! p
& y$ c3 l4 v+ J0 z+ c, U, h. y/ I'^':指匹配的字符串在行首, % Q1 D  j; M' R' f( ~6 v: D
- `( v5 \, y, q3 Q: Q, J* f+ V
'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。) H+ \5 y  }6 H; q1 G6 O
比如:6 ~  e' v2 U2 M3 H) ]
find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/'
' ]8 o2 \$ M  Q+ m1 r! L, w# t$ w
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'3 ?/ l: t8 F  H* K7 w' w
每个用法不一样。9 J. F+ ^+ A# P4 t

8 T3 U+ ~1 {) I! v, ~. G9 w& }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", Y( X  U5 H- T0 e* w
) K; `) q( }# t% G# w- 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-9-27 02:57 , Processed in 0.053686 second(s), 26 queries .

Powered by LR.LINUX.cloud bbs168x X3.2 Licensed

© 2012-2022 Comsenz Inc.

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