正则表达式
grep:显示匹配行
v:反显示
e:使用扩展正则表达式
grep after profile //匹配profile里的after
重复操作符:
? 匹配0到1次。
* 匹配0到多次。
+ 匹配1到多次。
{n} 匹配n次。
{n,} 匹配n到多次。
{n,m} 匹配n到m次。
- 查询包含三个a的行,\<,\>: 单词首尾边界
复制代码
- 显示含有两个a的行
复制代码
- ^ :行首 ,显示行首是aa的行
复制代码
-. 意味着god与good之间有任意字符
复制代码
[1249a],[^12],[a-k] 字符序列单字符占位
复制代码
文本处理
cut:显示切割的行数据
-f:选择显示的列
-s:不显示没有分隔符的行
-d:自定义分隔符
复制代码
sort:排序文件的行
n:按数值排序
r:倒序
t:自定义分隔符
k:选择排序列
u:合并相同行
f:忽略大小写
复制代码
显示grep文件有多少行
sed:行编辑器
-n: 静默模式,不再默认显示模式空间中的内容
-i: 直接修改原文件
-r: 表示使用扩展正则表达式
d: 删除符合条件的行;
复制代码
指定行插入
故用-i插入
利用正则表达式只替换aaa单词
awk
awk是一个强大的文本分析工具。
相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。
简单来说awk就是把文件逐行的读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk -F '{pattern + action}' {filenames} 支持自定义分隔符 支持正则表达式匹配 支持自定义变量,数组 a[1] a[tom] map(key) 支持内置变量 ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名 FNR 浏览文件的记录数 FS 设置输入域分隔符,等价于命令行 -F选项 NF 浏览记录的域的个数 NR 已读的记录数 OFS 输出域分隔符 ORS 输出记录分隔符 RS 控制记录分隔符 支持函数 print、split、substr、sub、gsub 支持流程控制语句,类C语言 if、while、do/while、for、break、continue
# awk '{split($3,date,"-");if(date[2]=="01"){ name[$1] +=$5;if($2=="0"){role[$1]="M"
复制代码
# awk '{split($3,date,"-");if(date[2]=="01"){ name[$1] +=$5;if($2=="0"){role[$1]="M"}} ' awk.txt
复制代码
本文详细介绍了正则表达式的使用方法,包括grep、sed、awk等工具的基本操作及高级应用,如模式匹配、文本搜索、行编辑和数据分析。
2067

被折叠的 条评论
为什么被折叠?



