grep - 文本搜索工具

  • 原创
  • Madman
  • /
  • /
  • 0
  • 8804 次阅读

grep - 文本搜索工具-min.png

Synopsis: g/re/p (Globally search a Regular Expression and Print)是类Unix系统中一个强大的文本搜索工具,在给出文件列表或标准输入后,grep会逐行搜索,判断是否与指定的一个或多个正则表达式匹配,并只输出匹配(或者不匹配)的行或文本。grep使用基本正则表达式,egrep支持使用扩展正则表达式,灵活使用正则,配合grep可以实现文件内非常强大的文本搜索功能

1. 常用选项

grep的基本语法为grep [OPTIONS] PATTERN [FILE...],其中PATTERN是匹配的模式,需要说明的是grep支持使用基本正则表达式(BRE),egrep支持使用扩展正则表达式(ERE),而fgrep不支持正则,它搜索字符串而不是搜索匹配表达式的模式

1.1 -i, --ignore-case

忽略字符大小写

# grep 'NTP' /etc/passwd
没有结果

# grep -i 'NTP' /etc/passwd
ntp:x:38:38::/etc/ntp:/sbin/nologin

1.2 -v, --invert-match

反向匹配,即显示没有 '查找字符串' 的所有行

# grep -v '/sbin/nologin' /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

1.3 -c, --count

打印每个输入文件中包含匹配模式的行数

# grep -c 'nologin' /etc/passwd
23

或者:
# grep 'nologin' /etc/passwd | wc -l
23

1.4 -n, --line-number

打印匹配到的文本所在行号

# grep -E -n 'sshd|ntp' /etc/passwd
25:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
26:ntp:x:38:38::/etc/ntp:/sbin/nologin

1.5 -l, --files-with-matches

当匹配到的结果非常多时,可以使用-l只显示文件名

# find / -type f 2> /dev/null | xargs -n 10 grep -l '\*'
/boot/grub/splash.xpm.gz
/boot/grub2/i386-pc/acpi.mod
/boot/grub2/i386-pc/date.mod
... ...

1.6 -q, --quiet, --silent

静默模式,不输出任何信息,常用于脚本中条件测试,不需要输出的信息,如果匹配到则命令执行后的返回状态值为 0 ,否则为 1

# grep -q 'sshd\|ntp' /etc/passwd
# echo $?
0

# grep -q 'sshd|ntp' /etc/passwd
# echo $?
1

1.7 -r, --recursive

递归搜索

# grep -r -n 'sshd' /etc
... ...
/etc/group-:44:sshd:x:74:
/etc/gshadow-:44:sshd:!::
/etc/group:44:sshd:x:74:
/etc/gshadow:44:sshd:!::
/etc/passwd-:25:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
/etc/shadow-:25:sshd:!!:16955::::::
/etc/passwd:25:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
/etc/shadow:25:sshd:!!:16955::::::
... ...

1.8 -A NUM, --after-context=NUM

输出匹配行的后 NUM 行

分类: Linux
标签: egrep fgrep grep
  • Publish and earn US dollars cd759152.tw1.ru Dc
  • rwlxijounf
  • Activate Your Additional Cash Today cj747267.tw1.ru AY
  • Enroll and Receive a Special Bonus cj747267.tw1.ru HL
  • Time is Ticking   Get Your Reward Today cj747267.tw1.ru xA
  • Unlock Prizes by Maintaining Activity cd759152.tw1.ru gT
  • Our summer cash extravaganza is live cd759152.tw1.ru t0
  • Access member only financial resources cd759152.tw1.ru aC
  • Secure Direct to You Fund Transfers cd759152.tw1.ru SL
  • Get a Refund on All Your Spending cd759152.tw1.ru vY
  • pivjnytvhd
  • Make Your Hours Pay cj747267.tw1.ru 3q
  • Monetize Your Time on Random Chores cj747267.tw1.ru Ms
  • Don't wait today's free cash won't return cd759152.tw1.ru pO
  • infjonowho
  • Get a Surge of Cash This Very Day ihudlfhsgm.temp.swtest.ru 6l
  • Be Paid for No Action Other Than Being cd759152.tw1.ru Ff
  • Your account holds a unique prize cd759152.tw1.ru P8
  • A Lump Sum of Cash Awaits You ihudlfhsgm.temp.swtest.ru 2Y
  • vksjssivxg
  • Enjoy a cash bonus reserved for the weekend cd759152.tw1.ru 1u
  • Acquire a Bonus Designed for You cj747267.tw1.ru jO
  • fldjytelhq
  • Redeem your loyalty reward soon ihudlfhsgm.temp.swtest.ru 50
未经允许不得转载: LIFE & SHARE - 王颜公子 » grep - 文本搜索工具

分享

作者

作者头像

Madman

如需 Linux / Python 相关问题付费解答,请按如下方式联系我

0 条评论

暂时还没有评论.

专题系列