2016-09-12 5 views
0

Я хочу найти файлы, содержащие строки, например, report_, 8495, str1 и с расширением .dat. В каталоге много файлов, и я хочу найти файлы, содержащие эти строки, в имени файла. Я не проверяю содержимое файла, просто имя файла. Каков хороший способ сделать это?Linux найти файлы с несколькими символами или строками

Использование ls *...*...*...* работ, но я задаюсь вопросом, есть ли какой-либо сложный способ сделать это.

+0

try 'ls * {report_, 8495, str1} *. Dat' ... – Sundeep

ответ

0

Ну, вот один из способов сделать это, но я бы не назвал его сложным. Я бы назвал это лукавым и полезным. Я использую шаблон поиска совсем немного. Это также можно сделать с помощью выражений регулярных выражений, но это несколько сбивает с толку. В любом случае, посмотрите на образец ниже:

[[email protected] 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 
[[email protected] test]$ 
[[email protected] 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 
------- 
[[email protected] test]$