2

我在 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 崩溃,整个管道也是如此。我添加了 || true 以防止这种情况发生,但没有帮助。lzop 没有忽略错误的选项。我不关心错误压缩的文件。

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

4

1 回答 1

2
while read filename; do
    lzop -fdc "$filename" | python lineprocessor.py
done < filenames.txt >> output.txt
于 2015-12-21T07:43:13.937 回答