grep查找时,去掉grep本身那一条

grep 查找时,总会显示本身那一条,比如要查找vsftpd这个进程的运行状态,去掉本身那一条,我们可以这样操作:

ps  -aux | grep vsftpd | grep -v grep

### 使用 `grep` 按行进行搜索的方法 `grep` 是 Linux 中非常强大的文本搜索工具,能够通过正则表达式或其他模式匹配技术来筛选文件中的特定行并将其输出。以下是关于如何使用 `grep` 进行按行搜索的具体方法和示例。 #### 基本语法 `grep` 的基本命令结构如下: ```bash grep [选项] 模式 文件名 ``` 其中 `[选项]` 可以指定不同的行为,比如递归搜索、忽略大小写等;`模式` 表示要匹配的内容;`文件名` 则是要搜索的目标文件[^2]。 #### 示例:按行搜索具体用法 1. **简单字符串匹配** 如果只想查找包含某个单词或短语的行,可以直接输入该词作为参数传递给 `grep`。 ```bash grep "error" logfile.txt ``` 上述命令会返回 `logfile.txt` 文件里所有含有 `"error"` 字样的行[^2]。 2. **区分大小写的控制** 默认情况下,`grep` 对字母大小敏感。如果希望不考虑这种差异,则需加上 `-i` 参数。 ```bash grep -i "Error" system.log ``` 此处无论原文中是大写还是小写字母形式都会被找到[^2]。 3. **显示行号** 当需要知道某条记录位于源文档哪一行,可启用编号功能 (`-n`)。 ```bash grep -in "warning" application.out ``` 4. **排除某些条件下的结果** 若要去掉一些干扰项(如编译过程中产生的中间产物),可以通过多次叠加 `-v` 实现逐层过滤或者利用扩展正则表达式的单次多条件排斥机制 (-Ev)[^1]: 多重反向匹配方式一: ```bash grep -rn memcpy | grep -v .o.cmd | grep -v .s.cmd | grep -v .o | grep -v .map ``` 扩展正则表达式简化版: ```bash grep -rn memcpy | grep -Ev '\.o\.cmd|\.s\.cmd|\.o|\.map' ``` 以上两种做法均能达到去除不需要的信息的目的, 后者借助于正则表达式使得书写更加简洁高效. 5. **仅统计符合条件的数量而非具体内容本身(-c)** 有我们并不关心具体的哪些行满足查询需求而仅仅想知道总数目. ```bash grep -c 'success' report.dat ``` 6. **只提取完全一致整行的数据(-x)** 当期望得到的是整个字段严格相等于设定值的情况候需要用到此标志位. ```bash grep -x '^root:$' /etc/passwd ``` 这段脚本将会定位到 `/etc/passwd` 文件里面单独成列且唯一代表超级用户的那一行列. 7. **结合其他管道操作符进一步加工数据流** 除了单纯依靠自身能力之外还可以与其他UNIX标准组件串联起来完成更复杂的任务链路设计. 例如下面的例子展示了怎样计算当前目录下所有C++源程序当中定义了多少个类(class). ```bash find ./ -name "*.cpp" -exec grep -h "^class" {} \; | wc -l ``` ### 结论 综上所述,`grep` 提供了灵活丰富的手段让用户可以根据实际场景定制化自己的检索策略从而快速精准地获取所需信息[^2]. 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值