15分钟搞定Linux三剑客 grep sed awk

本文介绍了Linux中的grep, sed, awk三个命令的使用技巧,包括搜索字符串、模式匹配、文本替换、行删除、行添加等功能,并通过实例展示了它们在文本处理中的应用。" 104801161,8318544,Python排序技巧:多属性与自定义规则,"['Python编程', '算法', '数据结构', '排序算法', '力扣题目']
摘要由CSDN通过智能技术生成

剑客grep

来者何人

grep是linux上的字符串搜索匹配命令。这个名字来自于linux编辑器vim的一个命令g/re/p,表示全局匹配某个正则表达式并打印出来,这也体现了grep自身的功能。

基本技能

搜索字符串

比如我们想在一个有10万条信息的文本中找到Zhang3的信息:

$ cat students.txt
name    age     phone   address
LiSi    18      10086   Beijing
Zhang3  19      10001   Sichuan
Wang5   19      91182   Newyork

我们可以借助grep来搜索:

$ grep Zhang3 students.txt
Zhang3  19      10001   Sichuan

可以看到,基本命令格式包括grep <要匹配的内容> <要搜索的文件>

搜索所在行 -n

能否查到Zhang3的信息在第几行

通过-n参数,即 number 行号

$ grep -n Zhang3 students.txt
3:Zhang3        19      10001   Sichuan

如何查找除Zhang3以外的其他信息?

通过-v参数,即 –invert-match,反选除Zhang3以外的信息

$ grep -v Zhang3 students.txt
name    age     phone   address
LiSi    18      10086   Beijing
Wang5   19      91182   Newyork

不知道具体大小写,搜索李四怎么办?

可以用 -i,–ignore-case 即忽略大小写

$ grep -i lisi students.txt
LiSi    18      10086   Beijing

复杂模式匹配

如果想搜索张三和李四两位同学的信息怎么做?

-E 表示正则表达式,然后用“A|B”选择A或者B。

$ grep -E 'Zhang3|LiSi' students.txt
LiSi    18      10086   Beijing
Zhang3  19      10001   Sichuan
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值