如果我运行该命令,s3cmd get s3://bucket/file.gz -我会在屏幕上获得二进制输出。如果我尝试将其通过管道传输到 gzip,s3cmd get s3://bucket/file.gz - | zcat我会得到gzip: stdin: not in gzip format.
我怎样才能从中zcat选择它的输入stdin?
Oli*_*Oli 20
gzip默认情况下,它的辅助命令都从 STDIN 读取。我们可以用一个非常简单的测试来测试:
$ echo testing | gzip | zcat
testing
Run Code Online (Sandbox Code Playgroud)
或者更奇特的东西来证明这不是侥幸:
$ dd if=/dev/urandom of=bigfile bs=1024 count=102400
102400+0 records in
102400+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 6.42114 s, 16.3 MB/s
$ sha1sum bigfile
25b4832d3e738e70721d86695ea7a767a3afb229 bigfile
$ cat bigfile | gzip | zcat | sha1sum
25b4832d3e738e70721d86695ea7a767a3afb229 -
Run Code Online (Sandbox Code Playgroud)
这向我表明您的s3cmd输出在某种程度上是脏的或格式错误的。尝试重定向到文件(而不是提供真实的文件名),然后以类似head. 或者正确下载并比较。
| 归档时间: |
|
| 查看次数: |
32067 次 |
| 最近记录: |