美文网首页
十一、正则表示法与文件格式处理

十一、正则表示法与文件格式处理

作者: 努力爬行中的蜗牛 | 来源:发表于2018-08-22 10:24 被阅读4次
特殊符号 代表意义
[:alnum:] 代表英文大小写字符及数字,亦卲 0-9, A-Z, a-z
[:alpha:] 代表任何英文大小写字符,亦卲 A-Z, a-z
[:blank:] 代表空格键与 [Tab] 按键两者
[:cntrl:] 代表键盘上面的控制按键,亦卲包括 CR, LF, Tab, Del.. 等等
[:digit:] 代表数字而已,亦卲 0-9
[:graph:] 除了空格符 (空格键不 [Tab] 按键) 外的其他所有按键
[:lower:] 代表小写字符,亦即 a-z
[:print:] 代表任何可以被打印出来的字符
[:punct:] 代表标点符号 (punctuation symbol),亦卲:" ' ? ! ; : # $...
[:upper:] 代表大写字符,亦即 A-Z
[:space:] 任何会产生空白的字符,包括空格键, [Tab], CR 等等
[:xdigit:] 代表 16 进位的数字类型,因此包括: 0-9, A-F, a-f 的数字不字符

1、基础正则表示法的练习

1.1 搜寻特殊字符
grep -n 'the' regular_express.txt
grep -vn 'the' regular_express.txt #反向选择
grep -in 'the' regular_express.txt #不区分大小写
grep -n 't[ae]st' regular_express.txt # []里面无论有几个字符,都仅代表一个字符
grep -n '[0-9]' regular_express.txt # 一组集合字符
grep -n '[a-z]' regular_express.txt # 一组集合字符
grep -n '^the' regular_express.txt # 一行字符以the开头
grep -n '.$' regular_express.txt # 一行字符以.结尾

. 小数点:代表一定有一个任意字符的意思,
* 星号:代表重复前一个0到无穷多次的意思,为组合形态;
grep -n 'ooo' egular_express.txt # 一行中包含2个或者以上的o;
grep -n 'g.
g' egular_express.txt # 一行中包含g*g的内容;
grep -n 'o{2}' egular_express.txt # 包含2个o的内容行;限定连续字符
grep -n 'o{2,5}' egular_express.txt # 包含2个到5个o的内容行;限定连续字符

RE字符 意义与范例
^word 待搜寻的字符在行首,例:grep -n '^#' egular_express.txt
word$ 待搜寻的字符在行尾,例:grep -n '!$' egular_express.txt
. 代表一定有一个任意字符的字符,例:grep -n ’e.e' egular_express.txt
\ 跳脱字符,将特符号的特殊意义去除,例:grep -n ' egular_express.txt
* 重复0到无穷多个的前一个RE字符,例:grep -n ’ess*' egular_express.txt
[list] 字符集合RE字符,里面列出想要截取的字符,例:grep -n 'g[ld]' egular_express.txt
[n1-n2] 字符集合的RE字符,里面列出想要截取的字符范围,例:grep -n ‘[0-9]' egular_express.txt
[^list] 字符集合的RE字符,里面列出不要的字符串或者范围,例:grep -n 'oo[^t]' egular_express.txt
{n,m} 连续n到m个前一个RE字符,例:grep -n 'go{2,3}g' egular_express.txt

2、sed工具

sed本身也是一个管线命令,可以分析standard input,还可以将数据进行取代、删除,截取特定行等功能
nl /etc/passwd | sed '2,5d' # 将 /etc/passwd 的内容列出幵且打印行号,同时,请将第 2~5 行删 除!
nl /etc/passwd | sed '2a drink tea' #在第二行后(亦卲是加在第三行)加上『drink tea?』字样!
nl /etc/passwd | sed '2,5c No 2-5 number' # 将第 2-5 行癿内容叏代成为『No 2-5 number』
nl /etc/passwd | sed -n '5,7p' # 仅列出 /etc/passwd 档案内癿第 5-7 行

3、文件的格式化与相关处理

3.1 格式化打印:printf
3.2 处理处理工具:awk
3.3 档案对比工具:diff,cmp

相关文章

  • 十一、正则表示法与文件格式处理

    1、基础正则表示法的练习 1.1 搜寻特殊字符grep -n 'the' regular_express.txtg...

  • chapter 12:正则表示法regular expressi

    1. 前言: 什么是正则表示法 1.1 什么是正则表示法 让使用者轻易达到『搜寻/删除/取代』某特定字符串的处理程...

  • Shell grep

    正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、aw...

  • linux正则表达式

    1. 什么是正则表达式 正规表示法就是处理字符串的方法,他是以行为单位来进行字符串的处理行为, 正规表示法透过一些...

  • iOS 之正则表达式与谓词(NSPredicate)

    一. 正则表达式 正则表达式 正则表达式又为正规表示法,常规表示法(Regular Expression),通常的...

  • Swift2.0 - 正则表达式

    什么是正则表达式? 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常...

  • Python 正则表达式

    正则表达式 1. 正则表达式概述 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语...

  • 正则表达式逻辑表达

    正则表达式概述:正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular ...

  • 正则表达式(一)

    正则表达式概述 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular ...

  • 正则表达式

    正则表达式概念 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular ...

网友评论

      本文标题:十一、正则表示法与文件格式处理

      本文链接:https://www.haomeiwen.com/subject/mbreiftx.html