grep和管道符
来源:互联网 发布:知乎周刊一共多少期 编辑:程序博客网 时间:2024/05/20 02:25
grep 的完整用法:
1、grep -l ‘boss’ * 显示所有包含boss的文件名。
2、grep -n ‘boss’ file在匹配行之前加行号。
3、grep -i ‘boss’ file显示匹配行,boss不区分大小写。
4、grep -v ‘boss’ file显示所有不匹配行。
5、grep -q ‘boss’ file找到匹配行,但不显示,但可以检查grep的退出状态。(0为匹配成功)
6、grep -c ‘boss’ file只显示匹配行数(包括0)。
7、grep “$boss” file扩展变量boss的值再执行命令。
8、ps -ef|grep “^*user1″ 搜索user1的命令,即使它前面有零个或多个空格。
9、ps -e|grep -E ‘grant_server|commsvr|tcpsvr|dainfo’ 查找多个字符串的匹配(grep -E相当于egrep)
了解了grep的参数之后,问题就解决了一半了,因为可以搜索出符合条件的文件了。不过光有grep 还是不行,因为要把搜索出来的文件名作为参数传给 generate 命令。OK,接下来该管道符出场了。
即使是像我这样对Linux只是有一点了解的人也经常用到管道符,比如“|”,示例: ls -a | more 。但是对于管道符的具体意义和它做了什么我就不知道了,没关系,Google 一下,找到一些资料:
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
所以查找的时候可以这样写:
grep -rl “aaa” * | grep -v “bbb”
这样右边的命令就可以从前面的结果中筛选了。然后还有 generate 命令,因为生成文件的命令格式是这样的:
generate 文件名
不过如果直接使用 generate grep -rl “aaa” * | grep -v “bbb” 的话会出错,因为命令会从左向右执行,这条命令就会把grep作为一个文件名来看待。怎么办呢?这个时候就要使用 · (键盘上数字键1 旁边的那个符号,和“~”在一个按键上)来做命令替换了,用 · 把后面的 grep 命令包起来就好了,这样:
generate ·grep -rl “aaa” * | grep -v “bbb”·
然后就搞定了。
via:http://blog.csdn.net/svod/article/details/5786656
- grep和管道符
- grep和管道符
- grep和管道符
- [转]grep和管道符
- [转]grep和管道符
- grep与管道
- linux grep-管道命令
- 管道和命名管道
- 管道和有名管道
- linux grep命令参数及用法详解---管道命令grep
- linux grep命令参数及用法详解---管道命令grep
- linux grep命令参数及用法详解---管道命令grep
- 管道符和作业控制
- linux管道符和通配符
- LinuxStudyNote(45)-管道符 | 的使用与解析、| 与 grep的使用
- 管道实现ls 与grep功能
- linux grep管道计算文档行数
- shell中管道、grep、sed、awk用法
- VC++2005下的ADO SQL语句(like,count,distinct)和操作(转)
- poj 2201(RMQ+笛卡尔树)
- iOS模拟器和真机调试时App的安装文件路径问题
- 网页响应状态码
- leetcode 13. Roman to Integer
- grep和管道符
- Javascript面试题
- 10 Ways to Learn Java in just a Couple of Weeks
- oracle 修改字符集 修改为ZHS16GBK
- 2016SDAU编程练习一1009
- linux命令--traceroute
- iOS 开发者总结
- monkey脚本格式
- ubuntu解压zip文件乱码问题解决方法