正规表示法与文件的格式化

简单的说,正规表示法就是处理字符串的方法,他是以行为单位来进行字符串的处理行为, 正规表示法透过一些特殊符号的辅助,可以让使用者轻易的达到『搜寻/删除/取代』某特定字符串的处理程序!

正规表示法基本上是一种『表示法』, 只要工具程序支持这种表示法,那么该工具程序就可以用来作为正规表示法的字符串处理之用。例如 vi, grep, awk ,sed 等工具。

注意正规表示法与通配符是完全不一样的东西,通配符是bash接口的一个功能,但正规表示法是一种字符串处理的表示方式。

1、基础正规表示法

以grep为例

1)、grep

下面是语系的特殊符号了解一下:

2)、grep的一些进阶选项

3)、grep使用举例

搜寻特定字符串:grep -n 'the' regular_express.txt

利用中括号[] 来搜寻集合字符:grep -n 't[ae]st' regular_express.txt

行首与行尾字符^ $:grep -n '^the' regular_express.txt

                                  grep -n '\.$' regular_express.txt

因为小数点具有其他意义(底下会介绍),所以必须要使用跳脱字符(\)来加以解除其特殊意义!

任意一个字符. 与重复字符*:

. (小数点):代表『一定有一个任意字符』的意思;
 * (星星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态

限定连续RE 字符范围{}:grep -n 'o\{2\}' regular_express.txt ,因为{ 与} 的符号在shell 是有特殊意义的,因此, 我们必须要使用跳脱字符\ 来让他失去特殊意义才行。

4)、基础正规表示法汇整如下:

以sed为例:

自行学习

2、延伸的正规表示法

简化指令的操作,延伸型正规表示法可以透过群组功能  |  来进行一次搜索,表示或的意思,注意grep的延伸命令为egrep,在延伸型命令中多了几个重要的特殊符号。

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

格式化打印:printf

printf '%s\t %s\t %s\t %s\t %s\t \n' $(cat printf.txt)

awk:也是好用的数据处理工具

相比较于sed常常用作一整个行的处理,awk则比较倾向于一行中分成数个字段来处理,也是一行一行进行处理

awk 主要是处理『每一行的字段内的数据』,而默认的『字段的分隔符为"空格键" 或"[tab]键" 』!

last -n 5 | awk '{print $1 "\t" $3}'

4、文件比对工具

纯文本档的比对使用diff,而cmp则用来比对非纯文本

同时,也能够藉由diff 建立的分析檔, 以处理补丁 (patch) 功能的文件,将旧的文件升级成为新的文件。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值