Linux——正则表达式应用

应用一

  1. 去掉多字(将多替换成空,即去掉多字):

  1. 将多少万留下:(\1代表你前面第一个\( \)里面的内容  \2代表第二个,以此例推)

  1. 避免.*匹配了我们想要的数字,令\(\)前面不是数字[^0-9]:

  1. 让万的左边允许有空格:

  1. awk统计所有开头是数字的行,将这些数字累加到一起(程序:条件{动作})

  1. 结束时打印sum值:

 

应用二

扫描二维码关注公众号,回复: 10246957 查看本文章
  1. 去掉标点符号(标点符号替换成空格):

  1. 查看单引号ACII码值:\047

 

  1. 去掉包含单引号的标点符号(标点符号替换成空格):

  1. 将每一个空格替换成换行(换行ACII值为012):

  1. 去掉空行(^ *$匹配0到多个空格并由此结束的行,-v是显示所有不包含这些行,无-v是只保留这些行):

  1. 排序

  1. 利用uniq(所有重复行不显示)的-c选项(在开头显示重复行的计数):

  1. sort -n 按数字大小排序

  1. 只保留最后两百个:

  1. 所有大写转小写:

 

应用三

  1. 获取网页并将名字重命名为18080html:

  1. 将<tr换成换行<tr:

  1. 将所有的标签替换成空格

1.编辑awk程序获取日期:(对播报这一行的字取第一列)

 

使用awk

  1. 删除约字:

  1. 再次编辑awk程序:(对有“查看“一字的行,打印当前的景点、日期、时间(从9点开始)、人数):

  1. 过滤掉有查看但无暂无的行:

  1. 批量处理:

 

9重定向到csv文件:

10.用excel打开时候需要用Notepad将utf-8转成ACII码编码。

 

应用四

  1. 文本显示分析由wireshark捕获的文件的上载过程中的网络流量结果cap文件:

  1. 编写awk程序:(将有2301>123且尾部不是length 0结尾的行,答应其发送最大减去ack的值即发送窗口,第一列是时间):

查找有20>192的行,其ack等于第九列的值:

  1. 将逗号或者冒号改为空格:

  1. 调用awk文件

5.第一行,让起始时间为第一列:

让每一行的时间减当前时间得到相对值

6.重定向:>uu.csv

 

发布了85 篇原创文章 · 获赞 0 · 访问量 3949

猜你喜欢

转载自blog.csdn.net/qq_35706707/article/details/104816100