Bash gzip中出现意外的文件结尾,但仅在脚本中出现
我遇到了一个奇怪的错误。我有一个BASH脚本,它调用一个C++程序,模拟数值,用换行符(STD::Endl)分隔,并输出到STDUT。这是通过gzip传输的,创建了一个文件sample.csv.gz。从同一个脚本,在同一台机器上,我调用Bash gzip中出现意外的文件结尾,但仅在脚本中出现,bash,gzip,Bash,Gzip,我遇到了一个奇怪的错误。我有一个BASH脚本,它调用一个C++程序,模拟数值,用换行符(STD::Endl)分隔,并输出到STDUT。这是通过gzip传输的,创建了一个文件sample.csv.gz。从同一个脚本,在同一台机器上,我调用 gunzip -k -c sample.csv.gz | myprog 得到 gzip: sample.csv.gz: unexpected end of file 我认为这不应该是由于经常遇到的产品线结束问题,因为它是同一台机器和操作系统。另外,如果我将同
gunzip -k -c sample.csv.gz | myprog
得到
gzip: sample.csv.gz: unexpected end of file
我认为这不应该是由于经常遇到的产品线结束问题,因为它是同一台机器和操作系统。另外,如果我将同一行直接复制并粘贴到bash中,那么它运行时不会出现问题。我也查过了
gunzip -k -c sample.csv.gz | wc -l
没有遗漏任何一行。什么可能导致这种情况?是
gunzip
有什么不同吗?是的,它说的是“gzip:stdin:意外的文件结尾”;-)