易陆发现论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" *
. }- U$ H. T! a, h- a! u/ b. h5 i! Q5 S; O
* l/ r5 x6 _: n& @
' {2 u5 {) n: I4 H  z
* : 表示当前目录所有文件,也可以是某个文件名  N0 ~  C7 Y6 M- c& @

: ^! w. i3 T' a, a% c" A; d4 x-r 是递归查找
6 m5 q- R0 O+ Z7 ^0 L
/ N8 y; _8 T* F6 u+ k-n 是显示行号: Y7 h9 E& {* A2 x9 R9 m" z/ [7 G
/ u6 O* G' T* U8 c  y6 T
-R 查找所有文件包含子目录+ @2 v! A2 z8 o
: b/ t- x2 f% A+ ~+ x
-i 忽略大小写, R1 @1 _% w# S# d. Y& a" Q

  A4 Q& B/ x1 Q# e7 D7 g$ l下面是一些有意思的命令行参数:* x, h/ x3 j$ R2 G/ P& {& @- @) p

1 ?  ~: ~7 P8 V 0 F5 r# B. l; f! ~

( X, ~! s8 T8 W$ t8 Y4 xgrep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
2 D% v) c. |5 a/ V  ?# l% P1 h3 a$ p( O% N4 N8 D
grep -l pattern files :只列出匹配的文件名, * O1 }& M) l: r4 H7 {
" U! O/ q) F) W3 K2 e0 C2 O4 ^
grep -L pattern files :列出不匹配的文件名,
/ v$ C& H3 s2 W" q4 U& |/ q8 R" A2 w4 {4 l( ?
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
' ?8 s& \3 K2 _9 g( ?! G
) K* E) }4 M* D% Ogrep -C number pattern files :匹配的上下文分别显示[number]行, 8 W$ p  w2 i! n4 W6 T. B

3 h9 T, G" m" Z" J7 z9 B1 z7 Dgrep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
3 A* {, Z  n$ G
1 g8 ^! L2 k- [- g$ X4 P* o' Dgrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 / J4 l0 r, p2 @

6 _0 E% a. [( M' L' i这里还有些用于搜索的特殊符号:/ }- i& Z- a. f. i

; ?% d! j7 @# Q( I
, E$ x! a2 a0 Q# n
' E3 d" t2 i! `& W) j! ?$ L\< 和 \> 分别标注单词的开始与结尾。% b. m, S! a* E4 G
& z2 K* {' R, F3 a
例如:
* y1 m3 X. ~! [* g7 H( C$ g: l( J$ x" U6 J$ ]3 H9 ?
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
' D+ p# U2 n/ @* t
3 q. }$ M7 D9 L6 X( \6 W2 B9 L! Rgrep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, ( u+ a. W# ?& q8 P' I" m* L0 u
1 R0 t# s4 t; v# W% k# _( H$ u
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 ; k7 M% Y  K. {' x

/ F4 m$ |+ m8 H! @7 z8 \7 Q" G0 I' c'^':指匹配的字符串在行首, 8 @$ e, @5 a% B6 m. L7 U

, L# F* j# R: y5 b'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。
7 ?0 g$ A* M& A/ `. L6 A: C8 U比如:0 g5 }9 T2 l; u; p; B) e
find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/' 9 `! o. p1 N6 S/ g& k) z4 ~- s
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'
2 L4 Y2 D$ B/ c: Y/ X" o: L& H, X每个用法不一样。8 K1 R! {6 s0 f* `/ Y# D& @

9 Z) M! Z1 {, A9 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"1 ^% h9 @% W9 e& [$ L

- T8 ], K5 y' E 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-4-4 22:34 , Processed in 0.054692 second(s), 22 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

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