如何避免解压缩 "archives were successfully processed." 输出

How to avoid unzip "archives were successfully processed." output

在 bash 中使用 unzip 命令时,会在终端中创建大量输出。使用 -q 选项或 -qq(“= 更安静”- UNZIP MAN)可以抑制某些输出。但是,在过程结束时,我仍然会收到类似 10 archives were successfully processed 的消息(并且前面有一个空行)。

这条消息似乎来自 STDERR,因为当我将 STDOUT 输出到

这样的文件时
unzip -qq files2zip.zip 1> stdoutput.txt

它仍然输出到终端而不是文件。当我将 STDERR(即 2> stderror.txt)输出到文件时,它确实会输出到文件。

在我的脚本中,我希望在屏幕上显示错误,但我不希望出现此消息。那么有什么方法可以在不丢失错误输出的情况下抑制此消息(我不想将 stderr 输出到文件)?

除了标准错误和标准输出外,没有第三种输出。所以你能做的最好的事情就是从 stderr 过滤不需要的消息,除了前面的行。请注意,这假设解压缩的输出具有特殊结构,这可能很容易损坏。像这样:

unzip file.zip 2> >(head --lines=-2)

你可以使用 proc sub

unzip -qq files2zip.zip 2> >(grep -v "were successfully processed")