论坛风格切换切换到宽版
  • 934阅读
  • 7回复

[问题求助]如何查找出当前目录下文件中不包含某一字符串的文件名啊 [复制链接]

上一主题 下一主题
 

发帖
2242
C币
-553427
威望
419
贡献值
2
银元
0
铜钱
4762
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
例如.: 查找当前目录下.不包含字符串aaa的文件的文件名电影

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线zhangyuhao.
发帖
1995
C币
4783
威望
341
贡献值
0
银元
-3
铜钱
4398
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
ls | grep -v "aaa"

发帖
2086
C币
-60314
威望
409
贡献值
1
银元
-1
铜钱
4738
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
这样结果不对啊,find -name只是用来查文件名的吧

离线帅帅.
发帖
1994
C币
-235618
威望
373
贡献值
1
银元
-4
铜钱
4429
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13


QUOTE:原帖由 liyang234567 于 2009-5-8 11:11 发表
例如: 查找当前目录下不包含字符串aaa的文件的文件名

grep -v -w "aaa" urfile
复制代码

离线翅膀.
发帖
2230
C币
-60365
威望
417
贡献值
1
银元
-1
铜钱
5042
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
你是要查找文件内容有没有 aaa?

find . -type f -print0|xargs -0 grep -v "aaa"|awk -F ':' '{print $1}'|sort -r|uniq

离线翅膀.
发帖
2230
C币
-60365
威望
417
贡献值
1
银元
-1
铜钱
5042
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
-w是匹配单词的,这样的结果还是错的

离线mycoolfeng.
发帖
1957
C币
-627507
威望
342
贡献值
4
银元
-1
铜钱
4265
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
这样的结果还是错的,原因在于只要用grep -v “aaa”,就会将所有的文件都选择。
举个例子:
file1 : aaa
            bbb
file2:  bbb
我们想找到不包含aaa的文件,即file2
执行grep -v “aaa”,得到的结果将是file1和file2,因为file1的bbb行不包含aaa,所以file1也被选择了。

离线seaspirit.
发帖
2029
C币
-60633
威望
359
贡献值
1
银元
-2
铜钱
4429
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
呵呵,看看可行不:
#!/bin/sh



directoryName="./c"

stringToFind="aaa"

cd $directoryName



for f in $(echo *)

do

        if (grep -q "$stringToFind" $f )

        then

                :

        else

                printf "$f\n"

        fi

done
复制代码
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个