grep命令学习
grep(Globally search a Regular Expression and Print), 全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。
grep选项:
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
grep常用参数
--color:将关键字部分使用颜色显示
[root@node1 ~]# alias cgrep='grep--color=auto'
-v:反向匹配,显示不能被模式匹配到的行
-o:仅匹配被模式匹配到的字串,非整行
-i:不区分大小写
-E:支持扩展
-n:显示行号
-A:后面可加数字,为after的意思,除了列出该行外,后续的 n 行也列出來;
-B:后面可加数字,为bfter的意思,除了列出该行外,后续的 n 行也列出來;
-C:前后各显示一行
grep正则表达式
. (小数点):任意单个字符
[]:指定范围内的任意单个字符
所有数字: [0-9],[[:digit:]]
所有小写字母: [a-z],[[:lower:]]
所有大写字母: [A-Z],[[:upper:]]
所有字母: [[:alpha:]]
所有标点符号: [[:punct:]]
空格: [[:space:]]
[^]:指定范围外的任意单个字符
次数匹配:用来指定匹配前面字符的次数
*(星号):表示重复前一个字符任意次
.*(点星号):表示匹配任意长度的任意字符
\?: 表示前一个字符出现0次或者1次
\{m\}: 表示匹配前一个字符m次
\{m,n\}: 表示匹配前一个字符至少m次,最多n次
\{m,\}: 表示匹配前一个字符至少m次
\{0,n\}: 表示匹配最多n次
位置锚定:指定字符出现的位置
^:锚定行首
$:锚定行位
\<:锚定词首
\>:锚定词尾
分组:
\(ab\)*xy
引用:
\1:后向引用,引用前面的第一个左括号以及与之对应的右括号中的模式匹配到的内容,意思是说前面出现一次,在\1这也要出现一次
grep练习
1、 显示/proc/meminfo文件中的以大小写s的开头的行
2、 取出默认shell为非bash的用户
|
1
|
[root@node1 ~]# grep -v "bash$" /etc/passwd |cut -d: -f1 |
3、 取出默认shell为bash的且其ID号最大的用户
|
1
|
[root@node1 ~]# grep "bash$" /etc/passwd |cut -d: -f1|sort -n -t: -k3|tail -1 |
4、 显示/etc/rc.d/rc.sysinit文件中,以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行
|
1
|
[root@node1 ~]# grep "^#[[:space:]]\{1,\}[^[:space:]]\{1,\}" /etc/rc.d/rc.sysinit |
5、 显示/boot/grub/grub.conf中至少有一个空白字符的行
|
1
|
[root@node1 ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf |
6、 查出/etc/passwd中一位数或两位数
|
1
|
[root@node1 ~]# grep --color=auto "\<[0-9]\{1,2\}\>" /etc/passwd |
7、 找出ifconfig命令结果中的1到255之间的整数
|
1
|
[root@node1 ~]# ifconfig |grep -E --color=auto "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>" |
8、 添加用户bash和testbash,而后找出当前系统上于其他用户名和默认shell相同的用户
|
1
|
[root@node1 ~]# grep “^\([[:alnum:]]\{1,\}\)\>.*\1$” /etc/passwd |
9、 找出netstat-tan命令执行的结果中以“LISTEN”或“ESTABLISHEN”结尾的行
|
1
|
netstat -tan | grep -E "(LISTEN|ESTABLISHED)[[:space:]]*" |
grep命令学习的更多相关文章
- Linux中grep命令学习
1.简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep.egrep和fgrep的命令只跟grep有很小 ...
- Linux输入输出重定向和文件查找值grep命令
Linux输入输出重定向和文件查找值grep命令 一.文件描述符Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2.Linux系统实际上有12个文件描述 ...
- grep命令输出显示高亮字
grep命令执行后,终端上输出显示颜色可以加"--color=auto"的参数. 另外的两个办法是: 1.设置环境变量: export GREP_OPTIONS="--c ...
- Linux学习历程——Centos 7 grep命令
一.命令简介 grep 命令用于在文本中执行关键词搜索,并显示匹配的结果. 由于grep命令参数很多,这里只列出一些常用的参数. 参数 作用 -b 将可执行文件当作文本文件来搜索 -c 仅显示找到的行 ...
- Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)
1.文件搜索命令:locate [文件名] 在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少 例子:locate test.txt,就会显示文件名包含 test.txt的所 ...
- linux命令学习(1):grep 命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...
- Linux命令学习-grep
1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局 ...
- linux shell编程学习笔记(二) --- grep命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...
- shell脚本学习指南-grep文本搜索命令-学习(3)
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...
随机推荐
- 【转】Linux下如何清除系统日志
使用过Windows的人都知道,在使用windows系统的过程中系统会变得越来越慢.而对于Windows下饱受诟病的各种垃圾文件都需要自己想办法删除,不然系统将会变得越来越大,越来越迟钝!window ...
- 鼠标滚动div固定浮动-加锚点
页面: <div class="pa"> <div class="w-95-sl bdl-2"><a>标 ...
- hbase数据迁移-HDFS拷贝
1.把数据表test从hbase下拷出 hdfs dfs -get /hbase/data/default/test /home/hadoop/hbase/test 2.文件放到新集群的系统上 scp ...
- js实现全选反选功能
开始慢慢地学习js&jQuery. function clicked(){ var arr=document.getElementsByName("product"); f ...
- Linux/Unix 线程同步技术之互斥量(1)
众所周知,互斥量(mutex)是同步线程对共享资源访问的技术,用来防止下面这种情况:线程A试图访问某个共享资源时,线程B正在对其进行修改,从而造成资源状态不一致.与之相关的一个术语临界区(critic ...
- 内存对齐 和 sizeof小结
数据对齐(内存对齐)指该数据所在的地址必须是该数据长度的整数倍.X86CPU能直接访问对齐的数据,当它试图访问未对齐的数据时,会在内部进行一系列的调整,降低运行速度.数据对齐一般出现在结构体和类中,在 ...
- Android性能测试工具APT使用指南
腾讯的安卓平台高效的性能测试工具APT(Android Performance Testing Tools),适用于开发自测和定位性能瓶颈,帮助测试人员完成性能基准测试.竞品测试. APT提供了CPU ...
- 4 多表代替密码之Hill 密码 2实现
该解密方法的KEY 不是一个数或者一段字符串,而是一个矩阵, 比如有个3*3的KEY: 那么如果我们要加密一个长度为N的字符串, 那么把N除以3,分成M个3个字母组成的小段, 对每个小段尽心加密: 1 ...
- iOS 渐变进度条
#import <UIKit/UIKit.h> @interface JianBianView : UIView //为了增加一个表示进度条的进行,可们可以使用mask属性来屏蔽一部分 @ ...
- WP8 MediaElement 实现循环播放
很简单, 直接在MediaEnded事件里加Play()即可