Linux grep

基本用法

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的文件删除

posted @ 2023-01-03 09:10  滴哒哒哒  阅读(58)  评论(0编辑  收藏  举报