Linux寻找某一目录下,既包含字符串A又包含字符串B的所有文件,命令怎么写?

grep-r'A*B'目录这条命令,不可以因为不允许换行,既要求AB必须在一行,我的要求是AB即使不在同一行也可以检测。请给出具体的指令,坐等高人。另外注意A,B的关系是... grep -r 'A*B' 目录
这条命令,不可以因为不允许换行,既要求AB必须在一行,我的要求是AB即使不在同一行也可以检测。
请给出具体的指令,坐等高人。另外注意A,B的关系是“与”不是“或”

也许大家理解错我的意思了,我的意思是 文件的内容中既含有字符串A又含有字符串B,而不是文件名中。谢谢。
展开
 我来答
yexicheng
2011-01-07 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:7078万
展开全部
这个需要写脚本了,这个可以试试
#!/bin/bash
for file in `find . -type f -print`
do
cat $file|grep A|grep B > /dev/null
if [ $? = 0 ]
then
echo $file
fi
done
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网络夜行者
2011-01-07 · TA获得超过6841个赞
知道大有可为答主
回答量:7095
采纳率:50%
帮助的人:4810万
展开全部
grep -r 'A' | grep -r 'B'
先检查有没有A,如果有再检查有没有B,通过管道来执行这个顺序。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Fel灬慕
2021-10-02 · TA获得超过190个赞
知道答主
回答量:14
采纳率:0%
帮助的人:2.3万
展开全部
grep -rli "kind: servicea" . | xargs grep -rni "admission"
管道前面命令是查找当前目录下的所有文件,包含kind: servicea,结果只显示有这个字符串的文件,然后将结果管道传给另一个grep,继续在前面过滤出来的文件中找 "admission"
作用:查找当前目录下既包含"kind: servicea"又包含"admission"的文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhwds918
2011-01-07 · TA获得超过715个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:254万
展开全部
ls -al | greap 'A' | greap | 'B'
这里的 | 不是与或关系,是管道~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
行走的标本
2011-01-07 · TA获得超过179个赞
知道答主
回答量:168
采纳率:0%
帮助的人:143万
展开全部
ls|grep 'A'|grep 'B'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式