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

易陆发现论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" *
5 F! z- |4 p( @) m2 \/ Q* w$ D: f- {' I( l; H0 Z4 ~, u0 X' ^
! k$ D6 H! D1 ^- N
% W$ Z/ b2 c1 n: L: A8 _4 l
* : 表示当前目录所有文件,也可以是某个文件名. g* r% c* I+ A8 y* [6 s
; ^% U& ^% n5 [
-r 是递归查找
4 P9 j. B" a9 c0 G- A- P3 [; q5 n  E
# `3 H( Q4 T0 Y' Y: `) _7 O" b7 C-n 是显示行号. g2 N0 _# r  c& j' N0 h
9 `4 w' E( F" j1 @& t
-R 查找所有文件包含子目录3 B0 m7 C0 @4 I5 n8 T" |
3 x7 t9 i4 D& r. c
-i 忽略大小写. k- K( y" a4 \# z$ E9 d& ~

& I" F$ d5 H0 ]9 s5 p0 [* s5 k下面是一些有意思的命令行参数:
4 D4 T+ O# }$ M1 d4 u  W
/ Y  h! _9 j3 @" O) b1 O7 j! H 4 h! N# j: c5 b: w' `+ b0 `# g8 {

+ F' ?# x3 d  n6 ^. ggrep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
! p6 j' Q! Q- Y0 M2 E( V2 v
0 O3 H7 ^" x: v! l' agrep -l pattern files :只列出匹配的文件名,
- C1 O% r" T! M5 d7 S# i3 ?
) g1 b' n. P. ]" }; k8 ]+ E9 _grep -L pattern files :列出不匹配的文件名,
# V) h, @( G; |" w  m+ m' Y7 X3 R. C/ e, e% t% D
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), - T0 @' h( M6 s" s! E
: h2 c# {% b6 a# e& l. l
grep -C number pattern files :匹配的上下文分别显示[number]行, 2 ~2 _7 {: y8 A7 o
  u+ \5 X, b! s+ G! ?2 w  Y2 b
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
; g. `) p: F/ s3 a& p
0 O, j1 Y9 r1 |grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
( \' k! \! [( S0 s: ~" ?' }9 }& w0 ~/ X
这里还有些用于搜索的特殊符号:/ W7 E4 S! u* |/ ~4 a) @. u1 l8 i

' {6 S/ a' n+ [$ a ( j( a; l% [/ h3 X2 s

, o3 |* z/ {" M  l\< 和 \> 分别标注单词的开始与结尾。* k& x6 d- ~! w' U) \1 a6 P+ ^

  I/ C+ P( s. l( m. P) L$ A* M2 K3 }例如: % D( y% n6 k3 U

) m* u" Y4 |, Q) Hgrep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
* y  U8 V% m" c; M* H* v5 n" L  _2 b9 z) W' |
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, 8 V, L" U' p3 Q4 }: e

' U+ S7 d# B  g4 t) O- _2 m6 lgrep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 , e6 H. p- |9 R. R, a% Y

- J5 Z; Q) z" D/ S* k7 @7 J/ c( L( A'^':指匹配的字符串在行首,
8 H' ^9 W! r6 ]9 ]8 h7 I& Z* u/ e+ Z/ a+ c, B5 K7 N+ j) J
'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。7 T% V1 n7 B" @- e5 D
比如:
1 ^, [2 O8 X" F8 a" lfind -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/' 6 A5 n! H% d) T1 y, J: W
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'& e+ i& d" Z4 [" y8 X+ {& Z& B
每个用法不一样。
" R' {% P! k8 I+ e5 F: t% ?- D" k. r, m0 a
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"
) o0 t9 @2 ?9 |7 d4 j3 B9 q6 k. I% {0 p1 `# R+ a6 R
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-11-28 19:24 , Processed in 0.042603 second(s), 24 queries .

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

© 2012-2022 Comsenz Inc.

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