shell编程之正则表达式

一、正则表达式

1.什么是正则表达式

正则表达式用于描述字符排列和匹配模式的一种语法规则。主要用于字符串的模式分割、匹配、查找及替换操作。主要用于匹配。

2.正则表达式与通配符

正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed命令可以支持正则表达式。

通配符用来匹配符合条件的文件名,通配符是完全匹配,ls、find、cp这些命令不支持正则表达式,所以只能用shell自己的通配符来进行匹配了。


通配符


通配符例子

3.基础正则表达式1


基础正则表达式


“*”匹配

4.基础正则表达式2

“.”匹配


例子
"^"号和”$号


“[]”号
"[^]"号代表取反

5.基础正则表达式3


"\”转义符


“\{n\}”符


“\{n,\}”符
“\{n,m\}”符

6.正则表达式案例

匹配日期和ip

清空linux中文本的内容:esc退出后,按小写d、再按大写G,会从光标的所在行清空到整个行尾。

二、字符截取命令

1.cut命令


cut命令


例子


例子

2.printf命令


输出类型
输出格式
例子


格式
例子
print和printf命令

3.awk命令


格式


例子

4.sed命令

sed是一种几乎包括所有unix平台(包括linux)的轻量级编辑器。sed主要用来将数据进行选取/替换/删除/新增的命令。


sed命令格式


sed支持的动作

例子:

sed  ‘2p’  test.txt #查看文件的第二行

sed -n  ‘2p’  test.txt #只打印出第二行

sed  '2,4d'  test.txt #删除第二行到第四行的数据,但是不修改文件本身

sed '2a piaolaing jiushi renxing' test.txt #在第二行后追加内容

sed ‘2i meinv‘ test.txt # 在第二行前插入两行数据

sed '2c hello'  student.txt #第四行数据替换被替换成hello


字符串替换

注意:如果不加“-i”,那么原文档的原始数据不会被修改。

三、字符处理命令

1.字符处理命令

sort命令:


排序命令

例子:

sort /etc/passwd #排序用户信息文件(按字母顺序排列)

sort -t /etc/passwd #反向排序

sort -t ":" 3,3 /etc/passwd #指定分割符是“:”,用第三字段开头,第三字段结尾排序,就是只用第三字段排序

sort -n -t ":" -k 3,3 /etc/passwd #把指定的字符串,按照数值来排序,符合用户习惯

wc命令


统计命令
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文笔记源自这里——[实验楼]欢迎大家在下面交流其中有问题的地方喜欢请点收藏,每日更新(全部已亲自实践). 一. ...
    东皇Amrzs阅读 4,044评论 7 54
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,124评论 0 0
  • 基础正则表达式 1、正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、aw...
    全村滴希望阅读 807评论 0 0
  • 知识点 sort uniq cut wc sed命令 awk命令 crontab定时器 sort sort 命令对...
  • #一起好好学习# 戴洪宝老师为60多名政府基层就业服务人员讲授《自我觉察与人际风格认知》课程。 即使教室不能贴布,...
    洱海Amy阅读 151评论 0 0