ls 文件根据这些文件中的字符匹配

Gre*_*del 0 bash shell

我有一个目录,其中有几个文件,例如:

OK_file1.txt
OK_file2.txt
OK_file3.txt
OK_file4.txt
Run Code Online (Sandbox Code Playgroud)

在这个文件中,我有一些内容,例如:

OK_file1.txt
error: 89 DUE TO TIME LIMIT ***

OK_file2.txt
Job_done

OK_file3.txt
Job_done


OK_file4.txt
error: 34 DUE TO TIME LIMIT ***
Run Code Online (Sandbox Code Playgroud)

我想解析这些文件中的每一个,只error在一个名为:的新文件中列出带有字符的文件:Jobs_error.txt

例如,这个文件应该是

OK_file1.txt
OK_file4.txt
Run Code Online (Sandbox Code Playgroud)

有没有人有想法?

Eri*_*kMD 5

您可以使用grep命令的以下选项:

$ man grep
  […]
  -l, --files-with-matches  print only names of FILEs containing matches
Run Code Online (Sandbox Code Playgroud)

和重定向 ( >):

$ grep -l "error" OK_file*.txt > Jobs_error.txt
Run Code Online (Sandbox Code Playgroud)