shell编程之正则表达式部分
正则表达式简介
正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找以及替换操作。
正则表达式与通配符
这里归纳一下:
正则表达式:
- 主要用来匹配文件内容,如greo
- 包含匹配
通配符:
- 主要用来匹配文件名,如find
- 完全匹配
基础正则表达式
字符截取命令
cut [选项] 文件名
选项:
- -f 列号:提取相应的列号,列号以1开始,注意前面加上 列 号 : 提 取 相 应 的 列 号 , 列 号 以 1 开 始 , 注 意 前 面 加 上
- -d 分割符:指定一行中的分割符,默认是使用Tab键产生的制表符
Extra:printf ‘输出类型输出格式’ 输出内容
printf 命令不算是字符提取命令中的一种,这里穿插讲他是为了后面的awk命令服务。
awk’条件1{动作1}条件2{动作2}···’ 文件名
条件可以为空,表示所有文件内容都经过后面对应{动作}处理。
开始条件:BEGIN
使用该条件后,会在最开始就优先处理BEGIN{动作},中的动作。
最后条件:END
与BEGIN对应,会在最后执行END{动作},中的动作。
确定分割符动作:FS
例子:
awk 'BEGIN{FS=:}'
sed [选项] ‘[动作]’ 文件名
sed是一种几乎包括所有UNIX平台,包括Linux的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令。
动作
这里附带一个字符替换动作的格式:
sed ‘s/旧字符/新字符/g’ 文件名