Linux grep

grep是一个强大的命令行工具,用于在文件中搜索指定的字符串或模式。它支持多种选项,如`-i`(不区分大小写),`-n`(显示行号),`-c`(计数),`-o`(只输出匹配部分),以及正则表达式。通过`-E`或`-P`可以使用扩展正则,`-v`查找不包含特定字符串的行,而`-q`则用于安静模式。grep可以与其他命令如`ls`,`sort`和`xargs`配合使用,实现更复杂的文件管理和文本操作。
摘要由CSDN通过智能技术生成

基本用法

grep str file在文件file中查找字符串str

grep -n str file使用-n选项查找字符串str

常用选项

-i 不区分大小写(默认是区分大小写的)

-n 输出该字符串所在行的行号

--color 查找到的字符串高亮显示(ubuntu默认高亮)

-c 统计符合条件的总行数

-o 只输出匹配到的关键字,会将一行中匹配到的多个关键字分行打印,比如某一行匹配到了2个结果就会打印两行

-Bn before,符合条件所在行之前的n行,必须有n

-An after,符合条件所在行之后的n行,必须有n

-Cn context,-A-B的结合

-w word 搜索的字符串作为一个独立的单词才会被匹配到

-v 搜素不包含某个字符串的行

-e 同时匹配多个目标,多个目标之间存在“或”关系,即匹配任意一个都算成功,例如grep -e abc -e xyz file在file文件中如果某一行包含abc或xyz都可以匹配成功

-q quiet 无论匹配到还是没有匹配到都不会输出任何信息,可以使用echo $?查看匹配结果,如果输出0则表示匹配到了,如果输出1则表示没有匹配到

-P 使用兼容perl的正则引擎

-E使用扩展正则表达式

grep扩展

grep支持基本正则表达式

egrep支持扩展正则表达式,相当于grep -E

fgrep不支持正则表达式,只能匹配写死的字符串,但是匹配速度非常快

如果要查找特殊字符需要使用转义字符\,例如grep "\-" file在file文件中查找包含-的行

传递输入或输出

可以使用管道符|传递输入给grep或者将grep的输出传给其他命令

ls | grep txt查找当前文件夹下,文件名包含txt的文件

ls | grep txt | sort对当前文件夹下,文件名包含txt的文件进行排序

ls | grep txt | xargs rm将当前文件夹下,文件名包含txt的文件删除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值