搜索当前目录下没有特定字符串的文件

时间:2014-12-27 07:43:14

标签: linux search grep

我在一个文件夹中有数百个* .txt文件,其中一些文件丢失了' 作者'标签由于incaution,现在我想找到它们而无需逐个手动检查。 另外,我认为最好只限制搜索* .txt文件(即跳过同一文件夹中的其他类型的文件)。

期望输出:

001.txt
004.txt
008.txt
009.txt

我知道这可能与' grep'或者' find'命令和我经历了--help但仍然没有太多的想法。 我能够弄清楚的只是过滤掉文件夹

中的所有* .txt文件
ls -ltr | grep txt
001.txt
002.txt
003.txt
004.txt
005.txt
006.txt
007.txt
008.txt
009.txt
010.txt

2 个答案:

答案 0 :(得分:1)

尝试grepfind

的这种组合
find -iname "*.txt" -exec grep 'author' {} \;

find -iname "*.txt" -exec grep -l 'author' {} \;

 -l, --files-with-matches
              Suppress  normal output; instead print the name of each input file from which output would normally have been printed.  The scanning
              will stop on the first match.  (-l is specified by POSIX.)

答案 1 :(得分:0)

尝试grep -Rl 'author' --include='*.txt' .

文档:

-L, --files-without-match  print only names of FILEs containing no match
-R, -r, --recursive       equivalent to --directories=recurse
    --include=FILE_PATTERN  search only files that match FILE_PATTERN