Linux三剑客命令常见用法之grep
来源:互联网 发布:软件项目标书 编辑:程序博客网 时间:2024/05/16 17:53
grep全称是Global Regular Expression Print,是一个能使用正则表达式文本过滤、搜索工具,并把匹配的行打印出来,grep使用权限是所有用户。
一、基本格式
grep [-vioqABCE] parttern /DIR/PATH/FILE
二、常见用法
# grep root /etc/passwd查找到有root的行并打印出来# grep -v root /etc/passwd查找到没有root的行并打印出来# grep -i root /etc/passwd查找到有root的行并打印出来,忽略字母大小写# grep -o root /etc/passwd查找到有root本身并且打印出来# grep -q root /etc/passwd静默模式,不打印出来# grep -c root /etc/passwd显示出匹配到的列数# grep -n root /etc/passwd查找到有root的行,打印出来并显示行号# cat /etc/passwd | grep -f /tmp/text.txt 指定规则文件text.txt,并以此为规则从passwd中查找# grep -A root /etc/passwd查找到有root的行,并且与其后两行打印出来# grep -B root /etc/passwd查找到有root的行,并且与其前两行打印出来 # grep -C root /etc/passwd查找到有root的行,并将其前两行和后两行打印出来
# cat /etc/passwd | grep -E "root|ming"查找root或者ming的行并打印出来
三、规则表达式
1、字符匹配.匹配任意单个字符[n]匹配n字符(任意单个字符)[^n]匹配除n外的字符[:alpha:]匹配任意字符[:upper:]匹配任意大写字母[:lower:]匹配任意小写字母[:digit:]匹配任意数字[:space:]匹配所有空白字符[:punct:]匹配标点[:alnum:]匹配字符和数字
2、次数匹配
*匹配前面的字符任意次\?前面的字符可有可无\+匹配前面的字符至少一次\{n\}匹配前面的字符n次\{n,m\}匹配前面的字符n到m次
3、位置锚定
^行首锚定,位于最左侧$行尾锚定,位于最右侧\<词首锚定\>词尾锚定
四、几个练习
1、如果用户root存在,就显示其默认的shell程序
# id root && grep "^root\>" | cut -d: -f7
2、找出/etc/passwd中的两位数或三位数
# grep "\<[0-9]\{2,3\}\>" /etc/passwd
3、找出/etc/rd.d/rc.sysinit文件中至少以一个空白字符开头,且后面存在非空白字符的行
# grep "^[[:space:]]\+[^[:space:]]" /etc/rd.d/rc.sysinit
4、找出netstat -tan命令中 以LISTEN后跟0个、1个以及多个空白字符结尾的行
# netstat -tan | grep "LISTEN[[:space:]]*$"
5、找出用户名和bash名相同的行
# grep "\(^[[alnum]]\+\>\).*\1$"
6、找出root、centos和ming用户的行的用户名UID和shell
# grep -E "^(root|centos|ming)\>" /etc/passwd | cut -d: -f1,3,7
以上是本人记录一些浅显的用法,如有错误,请指正。
阅读全文
0 0
- Linux三剑客命令常见用法之grep
- linux三剑客之grep命令详解
- Linux三剑客命令常见用法之sed
- Linux之三剑客,awk、sed、grep的用法
- Linux文本处理三剑客之grep命令
- linux 三剑客命令(grep,sed ,awk)
- Linux 三剑客之Grep&Sed
- linux文本处理三剑客之grep
- linux文本处理三剑客之grep
- linux文本处理三剑客之grep
- linux三剑客命令-grep、sed、awk--grep
- Linux 基础命令(五)—— 文本处理三剑客之grep
- linux文本处理三剑客(一):grep命令详解
- linux三剑客命令-grep、sed、awk--sed
- linux三剑客命令-grep、sed、awk--awk
- Linux上文本处理三剑客之grep
- Linux 三剑客之 awk 命令
- Linux 三剑客之 sed 命令
- 剑指offer 43 和为S的两个数字
- 华为手机,平板不显示log日志方法
- java存取oracle大数据clob类型
- 多任务学习“Embedding Label Structures for Fine-Grained Feature Representation”
- 第二步:蓝牙初了解
- Linux三剑客命令常见用法之grep
- 离线安装cloudera Manager
- 糗事百科案例(使用 xpath模块)
- php+nginx+mysql环境配置
- 阻止事件冒泡,阻止默认事件,阻止所有事件的方法
- 学习 谭浩强c语言设计 & 慕课 笔记(2017.10.24)
- 抽象工厂模式
- 动态手势识别实战
- ViewPager无限轮播