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

易陆发现论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" *
: r) [7 G9 o4 b- L
4 s8 m2 ]1 V6 e9 C/ ~2 A
# S8 g& q( O# u4 r; d* H7 k% q+ k  h8 R
* : 表示当前目录所有文件,也可以是某个文件名
$ `, V/ ?" H0 a8 a% k/ i
# c8 X9 V$ y$ a/ k-r 是递归查找
2 K/ j2 R- F4 I' x" \9 f' T2 Y  w  B6 z( n5 {
-n 是显示行号5 ^2 B4 M7 W" D/ s; z0 N+ P- _
# `' T# S0 B" C7 X, C  a9 T' x
-R 查找所有文件包含子目录
, {6 a+ ^/ [( g! J9 z- j+ n( ^8 v5 A0 z9 H$ ?
-i 忽略大小写
1 Z# Y, _4 M+ s7 ~9 M6 w
  @3 j- ]' O% r, n下面是一些有意思的命令行参数:
& K% n  i2 Y  ~1 k) W. Q2 v: v* u9 O0 p. v" Z& f( q

8 B; U8 n# k* F* D/ V3 D9 \- F4 [# v1 `" V8 T1 d9 L
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 2 W* x* {3 N5 P) C4 o4 J, g

% z7 d' \+ Q5 ?' n' Sgrep -l pattern files :只列出匹配的文件名, : y5 d9 p4 Y  v3 T  C5 G' L( U
9 z& C6 B6 X6 e) G$ K& Z5 m" M8 a
grep -L pattern files :列出不匹配的文件名, * J2 E- M0 i) c' o4 V" x  B

/ m0 N, g+ P4 Z" @& T2 A: ogrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 4 z! E/ z- ]  i' |
& W$ a+ m" e( T' f: _4 u1 h6 O
grep -C number pattern files :匹配的上下文分别显示[number]行, 6 C$ V5 O. N" c4 f6 ^
/ s3 I& ]  Y0 e' k1 p. H
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, * v, i( j1 n/ u- T

5 k. N- p4 d* g0 W" @7 q5 W: p) Dgrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 6 h8 R' j/ W6 M! W/ E. }
8 b1 j- i# [. c% A) K" u
这里还有些用于搜索的特殊符号:7 r# G) t+ z+ f1 x
) L+ Q" V: E- p- [) h$ i5 F' U
1 _2 {! J8 H6 z: p1 g2 q
1 R" e' b9 \! h
\< 和 \> 分别标注单词的开始与结尾。, A  S; I9 F: A2 S+ u0 j* Z
! G. U3 D0 ?: I6 M
例如: 1 Q! U* x" ?( f( [2 `- N, U
! U" k7 X# \0 ?# X. w; y* Y
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
- }6 Y" R0 q& |2 q  P, B
$ |8 ?7 m" e3 R" Z0 l6 B+ }grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, 4 @0 ]8 z7 P1 T1 s
" C1 E; `/ w. J, o% ~0 D3 |
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
% g8 _# _7 D, m7 Q: t5 Z, w5 ]( E
8 s; z( r5 |& L& \  V/ J7 {' S! h'^':指匹配的字符串在行首,
  u) v2 D9 r/ E; i. K) c8 e4 z. [3 s# a1 ], d% S$ `( ~7 u: \
'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。: O& Z- Q. _' i* Y$ h
比如:1 g( }2 }# _. r$ z& {$ U
find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/'
9 \' o# b  Q- d4 L8 C+ o
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'8 Z& P0 m4 u/ K) Z& L" w( _0 G' U
每个用法不一样。  l' n1 e+ q( m/ e' s

! ], F: z4 L7 d( n! W" p1 Kgrep -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"5 W/ K* t+ I) E

$ E+ _0 D5 D9 P7 p! S* `: N1 y1 G2 Q 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, 2022-7-4 10:49 , Processed in 0.041682 second(s), 24 queries .

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

© 2012-2022 Comsenz Inc.

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