解析字符串的1000个脚本的最佳方法是什么?

时间:2014-05-13 17:22:56

标签: unix ksh

我从前员工那里继承了代码,我需要在顶部识别他用exit 0禁用的脚本。

如果我对脚本执行head -2 load_db.ksh | tail -1 | grep hello,这样可以正常工作。我在脚本的第二行看到exit 0语句。

如何为近900个脚本自动执行此操作?我尝试使用find但是它出错了

find . -name "*.ksh" -exec head -2 '{}' | tail -1 |grep exit \;
grep: ;: No such file or directory
find: missing argument to -exec

我在语法中找不到错误。

2 个答案:

答案 0 :(得分:2)

您目前正在将find的输出指向tail,试试这个:

find . -name "*.ksh" -exec sh -c "head -2 '{}' | tail -1 | grep exit" \;  

答案 1 :(得分:0)

一个非常类似的替代方案(这将实际返回需要您注意的文件列表):

    find . -name "*.ksh" |xargs -ifile sh -c "head -n 2 file | grep -q exit && echo file"