我在一个文件夹中有数百个* .txt文件,其中一些文件丢失了' 作者'标签由于incaution,现在我想找到它们而无需逐个手动检查。 另外,我认为最好只限制搜索* .txt文件(即跳过同一文件夹中的其他类型的文件)。
期望输出:
001.txt
004.txt
008.txt
009.txt
我知道这可能与' grep
'或者' find
'命令和我经历了--help但仍然没有太多的想法。
我能够弄清楚的只是过滤掉文件夹
ls -ltr | grep txt
001.txt
002.txt
003.txt
004.txt
005.txt
006.txt
007.txt
008.txt
009.txt
010.txt
答案 0 :(得分:1)
尝试grep
和find
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