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

易陆发现论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" ** u/ }3 N6 ~; o& M
' L+ X/ [1 J" {' W9 T# l. [) x
& W- K, w; Y6 E. P, o

0 [/ ~% F% _3 o: }5 W4 Q2 |* : 表示当前目录所有文件,也可以是某个文件名  h/ l- H( l: B8 _# i' Z
! c* i1 j2 [5 q/ b8 P
-r 是递归查找
* F. {/ d/ f3 o2 I# y) E* D
0 J4 k) H3 f' ^2 e1 f& g6 J# n, N-n 是显示行号; U, q. h/ m% y' E; _7 z: D
) Q0 F( ]1 p/ j$ x' Y0 ~1 y$ J/ l
-R 查找所有文件包含子目录
1 C0 Z4 _) Q$ E" j+ E0 q1 Q- J9 @# P1 m
-i 忽略大小写
& K% w+ B4 J1 ~6 H! X2 k( j1 |! M; I: _$ C7 ]" M
下面是一些有意思的命令行参数:0 a' z! q4 W9 ?
8 o2 A3 T  {7 m! x& _
+ a; j% z3 x3 f- y* u! Y! O
  Q2 q0 {* E, o6 c+ H( v+ X
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, & Q% X+ i; Y1 x* J
7 e6 t  X- Y" E" ~6 a1 u/ L9 a
grep -l pattern files :只列出匹配的文件名, 2 C; I2 m0 Y6 v1 I8 A, z8 [

4 y- N1 e+ L+ P) T4 w4 Lgrep -L pattern files :列出不匹配的文件名, 4 d; ]7 `" J& ]4 B
  P4 }  l7 {) g" E$ G$ t$ R0 v
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), - ]' a, j6 v2 s! J
& A/ E7 c5 h! f8 N$ N
grep -C number pattern files :匹配的上下文分别显示[number]行,
4 h' t( h1 O" F/ a- B" e# j  M; l
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
! g& x4 G7 F6 ]- F  v( k/ q) n' y6 V* M0 [$ T1 G1 t  a
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
) y2 y7 V% C* C- X/ u; x3 y) y, A) X
这里还有些用于搜索的特殊符号:3 ^/ p2 O$ q6 f3 h
( `0 z& V# J8 V) s0 ?* _
  g8 e. l$ l% Z  M/ t
8 E- c0 n0 {6 C3 E+ g- z
\< 和 \> 分别标注单词的开始与结尾。' Q0 I: D( A4 K9 t$ }! m9 ~; `& R
" ^; P/ R: `; L
例如:
1 |5 a8 _0 \, I: c' x1 m
5 A5 S4 h" [3 c$ y% y# M4 `" Agrep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
6 {' c1 x/ x& x' H( x
2 C  j; d& U6 W/ }# f  C* S- C. Fgrep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
( N& Q+ B3 S8 _, N! i6 p6 C. {0 g2 F8 C" a( u0 Q: B4 C- C
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 1 f! d* b- l  R/ p
9 n) U% r! F+ ^
'^':指匹配的字符串在行首,
- z; S1 D4 B4 k, C( M9 y( x# _8 h0 R( [1 o
'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。
; V* D) Z' N% M4 S比如:+ P1 _' y+ M* x
find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/' # b$ {- Y4 D$ Z" w3 F8 L! S5 O/ Z7 |
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'  s: |5 o# r# B1 {
每个用法不一样。- ]. K4 r' A! h5 L8 G: M
) w1 h& h/ k- [; f, E
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"& t& B) f5 m4 l" h# `

8 N! _8 @9 `- S 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, 2020-10-25 15:55 , Processed in 0.058822 second(s), 25 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

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