【问题标题】:Linux find files given multiple characters or stringsLinux查找给定多个字符或字符串的文件
【发布时间】:2017-01-20 03:51:31
【问题描述】:

我想查找包含字符串的文件,例如 report_8495str1 和扩展名为 .dat。该目录有大量文件,我想在文件名中查找包含这些字符串的文件。我没有检查文件的内部内容,只是文件名。有什么好的方法可以做到这一点?

使用ls *...*...*...* 有效,但我想知道是否有任何复杂的方法可以做到这一点。

【问题讨论】:

  • 试试ls *{report_,8495,str1}*.dat ...

标签: linux terminal grep ls


【解决方案1】:

嗯,这是一种方法,但我不会称之为复杂。我会称之为狡猾和有用。我经常使用搜索模式。也可以使用正则表达式来完成,但有点令人困惑。无论如何,请看下面的示例:

 [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]$ 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-19
    • 2020-12-13
    • 1970-01-01
    • 2017-02-12
    • 2023-01-19
    • 2017-05-26
    • 1970-01-01
    • 2016-04-20
    相关资源
    最近更新 更多