grep

命令行参数:
grep -i pattern files     不区分大小写地搜索,默认情况区分大小写。
grep -l pattern files     只列出匹配的文件名。
grep -L pattern files     列出不匹配的文件吗。
grep -w pattern files     只匹配整个单词,而不是字符串的一部分。
grep  -C number pattern files     匹配的上下文分别显示[number]行。
grep pattern1 | pattern2 files     显示匹配pattern1或pattern2的行。
grep pattern1 files | grep pattern2 显示匹配pattern1又匹配pattern2的行。
grep -n pattern files     即可显示行号信息。
grep -c pattern files     显示匹配的总行数。


用于搜索的特殊符号:
\< 和\>分别标注单词的开始与结尾。
例如
grep man *      会匹配 Batman、mantic、man等
grep  '\<man' *      匹配mantic、man,但不匹配Batman.
grep  ‘\<man\>’  *      只匹配man

^     指匹配的字符串在行首。
$     指匹配的字符串在行尾。


grep复杂实例:
1.
在~/mybin目录下搜索带字符串songtaiwu的文件
taiwudeMacBook-Pro:~ taiwu$ grep 'songtaiwu' ~/mybin/*
grep: /Users/taiwu/mybin/song: Is a directory
/Users/taiwu/mybin/test_1.txt:songtaiwuad
/Users/taiwu/mybin/test_4.txt:songtaiwu
grep: /Users/taiwu/mybin/todo: Is a directory
默认情况下,grep只搜索当前目录,如果此目录下有许多子目录,grep结果会提示Is a directory,这可能会使得
grep的输出难于阅读。
两种解决办法
     明确要求搜索子目录 grep -r 'songtaiwu' ~/mybin/*
     忽略子目录 grep -d skip 'songtaiwu' ~/mybin/*
2.
如果输出很多,您可以通过管道将其转到less上阅读
grep -r 'songtaiwu' ~/mybin/* | less
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值