Shell学习--正则表达式

1.解释:指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。

作用对象:字符串

很多运用在文档编辑器或者其他工具里,被用来检索和替换符合模式的文本内容。

常用grep,sed,awk

2.grep  过滤,打印;-incvABC

-i忽略大小写;-n显示行号;-c统计符合要求的行数;-v打印不符合要求的行;-An打印符合有的行及其下n行;-Bn其上n行;-Cn上下n行。

grep ‘halt‘ -n -A2 /home/jason/passwd打印符合要求的行及后两行,并加行号显示

grep ‘bash‘ -c passwd打印符合要求的行的行数

grep -nv ‘nologin‘ passwd打印不带nologin的行,并显示行号

grep ‘[0-9]‘ passwd打印所有包含数字的行

grep -v ‘^#‘ inittab打印所有不以#开头的行

grep -v ‘^#‘ /home/jason/inittab |grep -v ‘^$‘打印所有不以#开头,且非空的行

vim greptest2.txt

123

abc

456

abc2345

#ljadj

grep ‘^[^a-zA-Z]‘ greptest2.txt打印不以字母开头的行,[^]表否定,除[]内字符之外的字符

grep ‘[^a-zA-Z]‘ greptest2.txt包含除字母之外的字符

时间: 2024-11-06 14:53:59

Shell学习--正则表达式的相关文章

bash shell学习-正则表达式基础 (笔记)

A gentleman is open-minded and optimistic; a small person is narrow-minded and pessimistic. "君子坦荡荡,小人长戚戚" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版) 一.正则表达式基础 1.什么是正则表达式 正则表达式(Regular Expression, RE)是对字符串操作的一种逻辑公式,就是用一些事先定义好的特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串

第三章 shell学习之正则表达式

正则表达式 \<the\>:精确匹配the,不包括包含the的单词 [^b-d]:不包含b~d a\{2\}:a出现2次 a\{2,3\}:a出现2~3次 a\{2,\}:a至少出现2次 [:upper:]:大写字母(用的时候外面加一层[]表示匹配字符集合) [:lower:]:小写字母 [:digit:]:数字 [:alnum:]:大小写字母和数字 [:space:]:表示空格或tab键 [:alpha:]:大小写字母 通配 注意通配和正则表达式不同,虽然有共同的符号 ls -l *.sh

Shell学习之结合正则表达式与通配符的使用(五)

Shell学习之结合正则表达式与通配符的使用 目录 通配符 正则表达式与通配符 通配符 通配符的使用 正则表达式 正则表达式 正则表达式的使用 通配符 正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式. 通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来就行匹配. 通配符 符号 作用 * 匹配任何字符串/文本,包括空字符串:*代表任意字

【转】十分有用的linux shell学习总结

在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们 数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux Shell的系列博客就给予了我极大的帮助,然而在实际的使用中却发现,有的时候确实忘记了某个技术点或某个Shell命令的使用方式曾经在哪一篇博客中 予以了说明,所以不得不多次点击多篇博客,直到找到想要那篇的为止,鉴于此,为了方便我们每个人的查阅,这里特别给出了前十二篇系列博客的目录以供大家参 阅和查

第四章 shell学习之sed命令和awk编程

sed命令 sed只是对缓冲区中原始文件的副本进行编辑,不改变源文件,所以要保存则要重定向到另一个文件 sed三种方式: 1.sed [选项] 'sed命令' 输入文件 2.sed [选项] -f sed脚本文件 输入文件 3../sed脚本文件 输入文件 其中3的sed脚本文件要以#! bin/sed -f等开头 选项: -n 不打印所有行到标准输出,默认先打印匹配的再打印所有 -e 关联多个sed命令 -f 调用sed脚本文件 定位文本: x x为指定行号 x,y 从x到y行 /patter

Shell学习之路和我发布过的Shell脚本博文

Shell学习之路 目录 Shell学习之路[第一篇]:别名,管道,用户配置文件,变量,read Shell学习之路[第二篇]:条件测试,运算符,选择结构,for循环结构 Shell学习之路[第三篇]:While循环,C-for循环,Until循环,case分支结构,流程控制语句 Shell学习之路[第四篇]:函数,数组,变量替换 Shell学习之路[第五篇]:多线程脚本 Shell学习之路[第六篇]:Trap信号捕捉命令介绍与Shell结合实战讲解 Shell学习之路[第七篇]:Linux下d

shell脚本正则表达式三剑客之一(grep,egrep)

Shell脚本之正则表达式 一.正则表达式三剑客之一:grep 1.学习正则表达式前我们拿一个无用的配置文件作为测试练习 [[email protected] ~]# vim chen.txt #version=DEVEL System authorization information auth --enableshadow --passalgo=sha512# Use CDROM installation media cdrom thethethe THE THEASDHAS Use gra

shell学习之tr命令

tr命令不接受指定的文件参数,而只是对标准输入进行翻译, tr是translate的简写,亦即翻译,需要注意的是,它不能翻译句子,只能翻译单个字符. 首先,定义变量:     [[email protected]]#A=1,,2,,,3,,,4,,,5 下面以示例对该命令以及其常用选项进行介绍. 示例: 1.  无选项设置情况     [[email protected]]# echo $A | tr  ',' ' '         1 2   3   4   5     [[email pr

Javascript学习-------正则表达式

Javascript RegExp对象(正则表达式对象): RegExp:是一种模式. 当你要检索某个文本时,可以使用这种模式来描述要检索的内容. 创建RegExp对象: 使用RegExp的显式构造函数创建:             new RegExp("pattern"[,flags])        使用RegExp的隐式构造函数创建:             /pattern/[flags] 解释:pattern是要使用的正则表达式模式文本 flags设置正则表达式的标志信息