05 shell编程之正则表达式

匿名 (未验证) 提交于 2019-12-02 21:59:42

正则表达式&&文本处理利器

学习目标:

目录结构:

正则表达式

正则表达式概述

基础正则表达式

拓展正则表达式

grep

sed

awk

正则表达式元字符

\:转义字符,使符号就是符号,不存在其他含义。\!,\n等

^:匹配字符串开始的位置

$:匹配字符串结束的位置

.:匹配除\n之外的任意的一个字符

*:匹配前面子表达式0次或者多次

[list]:匹配list列表中的一个字符

[^list]:匹配任意不在list列表中的一个字符

\{n,m\}:匹配前面的子表达式n到m次,有\{n\}, \{n,\}, \{n,m\}三种格式

扩展正则表达式元字符

+:匹配前面子表达式1次以上

?:匹配前面子表达式0次或者1次

():将括号中的字符串作为一个整体

|:以或的方式匹配字条串

Sed工具实践

sed工具概述

Sed用法举例

这只是sed和正则表达式的结合使用的部分案例

有关sed的具体使用详见https://www.cnblogs.com/zwgblog/p/6013975.html

awk工具实践

awk工具介绍

awk 选项 ‘模式或条件{编辑指令}’ 文件1 文件2

awk -f 脚本文件 文件1 文件2

逐行读取文本,默认以空格为分隔符进行分割,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令

FS:指定每行文本的分隔符,缺省为空格或制表位

NF:当前处理的行的字段个数

NR:当前处理的行的行号(序数)

$0:当前处理的行的整行内容

$n:当前处理行的第n个字段(第n列)

awk工具举例

同理awk的具体介绍详见http://blog.chinaunix.net/uid-23302288-id-3785105.html

至此shell编程的基本知识都已经了解完毕了,详见博主主页 http://www.cnblogs.com/tzlsj。shell编程博大精深,擅长处理各种文件,与Linux的一切皆文件的特点十分契合。

现在了解的shell知识点犹如四则运算法则,看似很简单,实则各种组合变化。接下来我会给大家找一些好玩的小脚本,进行shell的实际运用和巩固强化。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!