我在filenames.txt文件中有一长串文件名。这些文件是lzo压缩的,我使用lzop对其进行解压缩以在管道中进行进一步处理。

cat filenames.txt | (xargs lzop -dc || true) | python lineprocessor.py  > output.txt

因此,文件名逐行输入到lzop -dc。然后将它们解压缩并通过管道传递到我编写的lineprocessor.py脚本中。最后,将lineprocessor.py的输出写入output.txt中。

问题在于filenames.txt中的某些文件未正确压缩,lzop崩溃,整个管道也崩溃了。我添加了||防止出现此错误,但没有帮助。 lzop没有选择忽略错误的选项。我不在乎压缩文件不正确。

有什么办法可以轻松解决此问题?
无论lzop -dc命令发生什么情况,我都希望管道继续运行。

最佳答案

while read filename; do
    lzop -fdc "$filename" | python lineprocessor.py
done < filenames.txt >> output.txt

关于linux - 忽略Linux管道中的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34388755/

10-12 15:55