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

易陆发现论坛

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

grep 刷选的功能配合xargs

[复制链接]
发表于 2018-12-8 20:10:48 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览
 楼主| 发表于 2018-12-8 20:43:41 | 显示全部楼层
grep -rn "hello,world!" *
% c# p2 F" V- K+ L* I4 @4 H" y/ m! A- X/ k# [1 E) F2 h1 S$ ^
9 ~& A5 i0 O  c' T
0 X5 D. o& \: U1 X: p
* : 表示当前目录所有文件,也可以是某个文件名& p% q0 K  D0 E. @
- e& P; O9 e: b' Q+ V  E  J
-r 是递归查找+ e( L* F8 q# i9 ]% A6 n
/ S) W' r3 M& Y$ L) R) t. W
-n 是显示行号
$ O  F) l8 c0 O
$ ^! F. h! S9 W2 c-R 查找所有文件包含子目录
$ G5 b8 `& f+ I) I3 F9 C. R5 N! ~9 d- o9 ^  I& w
-i 忽略大小写
, u! z; `1 B8 m* @' H! U# \- T5 u  z0 r8 K, B
下面是一些有意思的命令行参数:
1 B) i& B* P9 h# h1 B0 K# C8 j# r5 a5 p* T( A) c6 s2 k9 }) d

' T+ `2 ]& W# }) v2 v* \, a8 j1 S8 u3 d4 g5 |  b4 G6 ^
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, / E  Q; p( x$ A/ H# R

. P  ~" d: |# m) [2 dgrep -l pattern files :只列出匹配的文件名, # P( Y2 e' l2 C
$ K7 }6 m4 ^: ~# B
grep -L pattern files :列出不匹配的文件名,
3 z, T: ?. C) P7 R* j
/ J/ p& D' c# `% @# Qgrep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), ' {7 B/ `2 X- [; {& Z1 Z/ c: h

( c8 l4 L! ]' I6 Y6 fgrep -C number pattern files :匹配的上下文分别显示[number]行, 0 b8 b" x: A' x* f/ g

1 `! m, l0 j4 X3 Wgrep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, & H1 `. G' d8 A& I, d# U

  G) t& o" u/ igrep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 ) a9 Q( Y% b4 ^

! e6 Y4 @) w; J3 b( L* m) y这里还有些用于搜索的特殊符号:4 h0 L1 X* z# I: b4 h7 U: i9 v& ^

* |; w# r: n  {2 X. f$ a1 n$ J ) W% j$ ~9 X4 q- B; B; u5 ~8 j
1 l" Z+ V7 O, O4 k
\< 和 \> 分别标注单词的开始与结尾。  c: ~9 i4 A1 {! {5 [- x

) w1 B7 m; T  h6 o$ t, X8 k* R例如:
/ H" f+ C5 Z( [& `1 w- U
, Y0 L, s& [( ygrep man * 会匹配 ‘Batman’、‘manic’、‘man’等, 8 v& t- z9 ^( F( v. u3 f
+ ?# o- L9 o! J# e2 `! \* V
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
% G: \3 q: P( e$ W2 R& ?6 k' x; _1 q2 B! u) x8 d* {. f# ?; u
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 1 O( n/ f% _+ H9 M" s6 @5 Z2 o  A

- I/ @% z# V) |2 p'^':指匹配的字符串在行首,
% R+ |$ F" e! H) ]9 ~! x" j: ~3 E. N9 h+ P
'$':指匹配的字符串在行尾,  
发表于 2018-12-9 10:02:12 | 显示全部楼层
xagrs 在很多场景中可以配合使用的。   修改查询出来 的文件字符,替换相关文件等操作。" S& ?( x+ `8 z* C0 Y
比如:/ R0 e( k4 o7 O0 @
find -type f -name “a.php”    |xargs sed -i '/aa/s/aa/bb/'
) \5 E" Z% i0 E6 k: ]1 r* a* x
发表于 2018-12-9 10:05:38 | 显示全部楼层
有的时候find -type f -name "*.txt"  |xagrs grep '字符'
/ Y. W, ?) g( z3 `每个用法不一样。
( M9 r( l$ ?1 N! Q% \
7 s3 m0 e( l* f! [. igrep -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"
9 A* \7 ^0 \$ |6 M1 [" p8 o8 m
% x3 }! \4 D$ l0 L' v# m 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-4-13 09:07 , Processed in 0.291281 second(s), 25 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

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