我想查找包含字符串的文件,例如 report_
、8495
、str1
和扩展名 .dat
。该目录有大量文件,我想找到文件名中包含这些字符串的文件。我没有检查文件的内部内容,只是文件名。这样做的好方法是什么?
使用 ls *...*...*...*
可以,但我想知道是否有任何复杂的方法可以做到这一点。
最佳答案
好吧,这是一种方法,但我不认为它很复杂。我会称之为狡猾和有用的。我经常使用搜索模式。它也可以用正则表达式来完成,但它有点令人困惑。无论如何,请看下面的示例:
[jesse@localhost test]$ ls -l
total 0
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:33 file8495
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 file8495.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 file8495.txt
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:33 mikereport_2
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 mikereport_2.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 mikereport_2.txt
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:32 myreport_1
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 myreport_1.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 myreport_1.txt
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:36 mystr1
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 mystr1.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 mystr1.txt
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:35 test8495
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 test8495.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 test8495.txt
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:33 testreport_template
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 testreport_template.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 testreport_template.txt
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:36 thestr1test
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 thestr1test.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 thestr1test.txt
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:32 tonyreport_1
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 tonyreport_1.dat
-rw-rw-r--. 1 jesse jesse 0 Sep 12 12:52 tonyreport_1.txt
[jesse@localhost test]$
[jesse@localhost test]$ for pattern in report_ 8495 str1; do echo "Searchng for pattern: $pattern"; find . -name "*${pattern}*.dat"; echo "-------"; done
Searchng for pattern: report_
./mikereport_2.dat
./tonyreport_1.dat
./testreport_template.dat
./myreport_1.dat
-------
Searchng for pattern: 8495
./file8495.dat
./test8495.dat
-------
Searchng for pattern: str1
./mystr1.dat
./thestr1test.dat
-------
[jesse@localhost test]$
关于Linux 查找给定多个字符或字符串的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39454879/