grep 搜索条件与的问题

davidzx0007 2005-11-18 06:45:13
请问各位大侠,grep查询,能否是n个条件的与?
搞得我只能用或关系,再把结果放到文件里,眼工检查。
谢谢。
...全文
265 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fytzzh 2005-11-23
  • 打赏
  • 举报
回复
#!/bin/sh
cat file | awk '
{
if ( pattern && pattern )
next
print $N
}'
davidzx0007 2005-11-22
  • 打赏
  • 举报
回复
涡轮兄,这样也不行。系统会提示使用方法。谢谢。
bekars 2005-11-21
  • 打赏
  • 举报
回复
cat filename | grep 'A' | grep 'B' > outfile

这样不可以吗!
tony_guang 2005-11-21
  • 打赏
  • 举报
回复
学习了,似乎awk要比grep灵活一点,
而grep比较简单易用。
somedummy 2005-11-21
  • 打赏
  • 举报
回复
果然……楼主误导我……

放弃grep吧,用awk

awk ' /A/ || /B/ {print}' filename

grep的话也要使用regexp的类型(可以是grep -E或者egrep)
grep -E '(A|B)' filename
Afile 2005-11-21
  • 打赏
  • 举报
回复
老大,你的要求不是“与”,而是“或”。马甲兄,你上当了。
somedummy 2005-11-18
  • 打赏
  • 举报
回复
grep是一个存在于Unix家族很长时间的工具族了(其兄弟姐妹包括了fgrep、egrep等等),应该没有什么大问题(就算有,也是egrep出问题,因为regexp这个东西不能统一,POSIX有两个版本的regexp,PERL还扩展了一套regexp来着)

另外,我觉得你的这个用的好像有问题?

grep像你的情况应该用两个参数吧?譬如:
grep 'A' filename | grep 'B' > accord.file

如果只有一个参数的话,grep默认从stdin读取数据

只要我给你的那个命令产生了abcdefg的输出就应该是没有问题的
davidzx0007 2005-11-18
  • 打赏
  • 举报
回复
马甲兄,我的处理是这样的:某个文件夹里一堆订单文件,我需要抓出这些订单里(orders)有语句A和语句B的订单。曾试过用管道 grep A | grep B orders > accord.file 。但是小弟才看过一点书,没有实际经验,所以不知道用的对不对,然后变换了几种形式试验。每次都不对,我上面说的那个只列出了条件B的订单。

另,马甲兄提到的那个语句返回为abcdefg。这些语句的执行和操作系统有关吗?我用的是HP-UX。
somedummy 2005-11-18
  • 打赏
  • 举报
回复
与还不简单,你用管道组合一下grep不就行了?譬如查询有abc和def的行

echo 'abcdefg' |grep abc|grep def

19,610

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧