【发布时间】:2016-10-07 02:01:03
【问题描述】:
我想将 unix 正则表达式翻译成 Perl 语言,以获取与某些条件相关联的特定文件。
假设现在我在/nfs/cs/test_case/y2016 调用totalResult.pl 目录中有Perl 脚本,该目录还包含很多目录,例如testWeek1、testWeek2、testWeek3...等。每个目录都包含子目录,例如 testCase1、testCase2、testCase3...等。并且每个testCase目录都包含一个文件调用.test_result,其中包含记录结果是成功还是失败。
所以我可以使用unix命令获取文件信息,例如:
wc /nfs/cs/test_case/y2016/testWeek1/testCase1/.test_result
如果想获取每个失败的目录和子目录的 test_results,我可以从 unix 中的当前路径 /nfs/cs/test_case/y2016 进行,例如:
grep -ri "fail" */*/.test_result
它会给我输出:
/nfs/cs/test_case/y2016/testWeek1/testCase1/.test_result:fail
/nfs/cs/test_case/y2016/testWeek3/testCase45/.test_result:fail
/nfs/cs/test_case/y2016/testWeek4/testCase12/.test_result:fail
.
.
...etc
如何通过编写 Perl 脚本来实现它,只需运行命令 perl testCase.pl 即可获得相同的输出?我是 unix 和 Perl 的新手,有人可以帮忙吗?
【问题讨论】: