linux中grep的用法
http://www.9usb.net/200902/linux-grep.html
http://blog.51yip.com/linux/1008.html
http://blog.csdn.net/svod/article/details/5786656(内容如下)
找出文件夹下包含 “aaa” 同时不包含 “bbb”的文件,然后把他们重新生成一下。要求只能用一行命令。
我对Linux 是个白痴,工作了之后才开始接触的,会用的命令只有那几个常用的。这个问题对我来说就有点难度,我只是大概知道查找文件用 grep ,其他的就不知道了。不过没关系,用Google ,查找到 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”·
然后就搞定了。
http://www.linuxidc.com/Linux/2011-04/34694.htm
linux中grep的用法的更多相关文章
- Linux中grep搜索用法
有测试文件test.txt一枚,内容如下 aaabbbcccAAADDDEEEabcsdfjasldjfbcdokmABC 一.基本搜索常用1.现在想把abc okm筛选出来 grep "a ...
- 12个 Linux 中 grep 命令的超级用法实例
12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...
- Linux中find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- [转]Linux中find常见用法示例
Linux中find常见用法示例[转]·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参 ...
- (转)linux 中特殊符号用法详解
linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员 $普通用户 脚本中 #!/b ...
- Linux中 find 常见用法示例
Linux中find常见用法示例 #find path -option [ -print ] [ -exec -ok command ] {} \; #-print 将查找到的文件输出到标准输出 #- ...
- Linux中grep和egrep命令详解
rep / egrep 语法: grep [-cinvABC] 'word' filename -c :打印符合要求的行数-i :忽略大小写-n :在输出符合要求的行的同时连同行号一起输出-v ...
- linux中make的用法
一.linux中make的用法 目的: 基本掌握了make 的用法,能在Linux系统上编程.环境: Linux系统准备: 准备三个文件:file1.c, file ...
- Linux中“!"的神奇用法
前言 实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用.本文就来细数那些“!”的神奇用法. 执行上一条命令 例如,在执行完上面一条命令后,可以使用下面的方式再次执行上一条命令: $ wher ...
随机推荐
- uva 11137 Ingenuous Cubrency(完全背包)
题目连接:11137 - Ingenuous Cubrency 题目大意:由21种规模的立方体(r 1~21),现在给出一个体积, 要求计算可以用多少种方式组成. 解题思路:完全背包, 和uva674 ...
- 一步一步学c#(六):数组
数组 简单数组 如果需要使用同一个类型的多个对象,就可以使用数组.数组是一种数据结构,它可以包含同一类型的多个元素. 数组声明:int[] myArray 使用new运算符,指定数组中元素的类型和数量 ...
- 视频媒体播放,最好的 HTML 解决方法
最好的 HTML 解决方法 HTML 5 + <object> + <embed> <video width="320" height="2 ...
- 上一篇下一篇 排序 (非ID字段排序)
网上看了很多关于"上一篇下篇"的文章,可大都是按ID排序. 实际上,很少有按ID排序的. 分享下我的单独排序字段的写法,主要分为ms sql2000 和 ms 2005及以上版本. ...
- mysql 数据备份
一.备份数据库并下载到本地[db_backup.php] php代码: <?php // 数据库参数(此处测试,直接给定,项目中使用配置文件) $cfg_dbname = 'blog'; $cf ...
- BZOJ 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏( floyd )
直接floyd.. ---------------------------------------------------------------------------- #include<c ...
- eclipse集成jetty开发web项目(不采用maven方式)
以前开发过程部署项目都是采用tomcat,偶然发现jetty,所以试了下,挺方便的,直切主题. 1.下载jetty,楼主使用的jetty8,地址http://download.eclipse.org/ ...
- 在InteliJ IDEA中写Dart及配置IDEA - Dart Plugin
此文运用的是优雅的Markdown而书 Dart官方建议使用的编译器是DartEditor,我下载下来看下,和Eclipse的界面很相像.对于Eclipse,我是既爱又恨,爱它的稳定,恨它的功能没有I ...
- 图片剪切之Croppic插件
前几天做图片上传时需要进行图片的剪切和缩放,上网查找时找到了这个插件.样式很好看,功能也很OK.但是网上都是php进行后台处理图片的例子,然后只好慢慢琢磨C#的处理.插件地址是:http://www. ...
- css中z-index属性(标签层叠次序)
定义和用法 z-index 属性设置元素的堆叠顺序.拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面. 注释:元素可拥有负的 z-index 属性值. 注释:Z-index 仅能在定位元素上奏 ...