Bash脚本:对含指定jobID的.out文件执行grep搜索
解决方案:筛选指定jobID的文件并执行grep搜索
你提到的命令其实已经是完全可行的方案啦,这里给你拆解一下细节,帮你更清楚它的工作逻辑:
- 首先shell的大括号扩展(
{...})会自动把括号里的多个jobID展开,生成对应的文件路径前缀:jobReports/NARX_{20197695,20261798}*.out会被扩展成jobReports/NARX_20197695*.out和jobReports/NARX_20261798*.out这两个匹配模式
- 随后grep会在所有符合这两个模式的.out文件中,搜索你指定的字符串"Saving results to"
直接执行这条命令就能完成需求:
grep "Saving results to" jobReports/NARX_{20197695,20261798}*.out
如果需要提前确认匹配的文件列表是否正确,可以先用ls命令验证:
ls jobReports/NARX_{20197695,20261798}*.out
这会列出所有符合条件的文件,确保没有遗漏或错误匹配。
另外这个方法扩展性很强,后续如果需要处理更多jobID,只需要在大括号里用逗号分隔添加新的ID即可,比如{20197695,20261798,12345678}。
内容的提问来源于stack exchange,提问作者Asy
相关产品推荐
相关产品推荐

