linux_file_grep

本文详细介绍了正则表达式的使用方法,包括grep、sed、awk等工具的基本操作及高级应用,如模式匹配、文本搜索、行编辑和数据分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式

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:自定义分隔符
复制代码

f1表示显示第一列

sort:排序文件的行

n:按数值排序
r:倒序
t:自定义分隔符
k:选择排序列
u:合并相同行
f:忽略大小写
复制代码

wc -l grep.txt
显示grep文件有多少行
利用管道显示etc文件夹里文件列数

sed:行编辑器

-n: 静默模式,不再默认显示模式空间中的内容
-i: 直接修改原文件
-r: 表示使用扩展正则表达式
d: 删除符合条件的行;
复制代码

指定行插入

但再次打开该文件,没有显示插入内容

故用-i插入

将aaa替换成bbb
利用正则表达式只替换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
复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值