我正在从这样的 perl 脚本中调用 find:
my $one_file = `find $search_dir -name "\*.$refinfilebase.search"-print |头-n 1`;
如果我从 shell 执行它,则不会出错。此外,它将正确的值返回给 $one_file,但我在提示中得到了这个:
查找:写入错误:管道损坏
为什么会这样?我怎样才能摆脱这个 find: write error: Broken pipe 消息?
最佳答案
你可以试试这个(虽然我没有设法使用你发布的代码重现你的错误信息,所以也许我的这个无错误版本也可能会给你一个错误信息......):
my $file = `find $search_dir -name "\*.ssf" -print -exec head -n 1 {} \\;`;
这是我从测试运行中得到的一些示例输出:
./tmp1.ssf
HEADER PROTEIN 21-FEB-11 1PDB
HTH
关于perl - 从 perl 调用带有反引号的 find - find : write error: Broken pipe,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6609034/