我试图列出我们在一个月内收到的所有文件
文件名模式将是
20110101000000.txt
YYYYMMDDHHIISS.txt
Run Code Online (Sandbox Code Playgroud)
整个目录有数百万个文件.一个月内最少可以有50000个文件.子目录的想法仍然悬而未决.有没有办法列出文件名几乎相似的大量文件.
grep -l 20110101*
Run Code Online (Sandbox Code Playgroud)
我正在尝试这个并返回错误.我尝试php花了很长时间,这就是为什么我使用shell脚本.我不明白为什么外壳也没有给出结果任何建议请!!
$ find ./ -name '20110101*' -print0 -type f | xargs -0 grep -l "search_pattern"
Run Code Online (Sandbox Code Playgroud)
你可以使用find和xargs.xargs将为find找到的每个文件运行grep.您可以使用-P并行运行多个grep,并且每个grep命令调用使用-n为多个文件运行.find中的print0参数用空字符分隔每个文件名,以避免文件名中任何空格引起的混淆.如果您确定没有任何空格,可以删除-print0和-0 args.