Если я выполняю команду s3cmd get s3://bucket/file.gz -
Я получаю двоичный выход на экране. Если я пытаюсь передать это по каналу к gzip с s3cmd get s3://bucket/file.gz - | zcat
Я добираюсь gzip: stdin: not in gzip format
.
Как я могу добраться zcat
для выбора это вводится от stdin
?
gzip
и его вспомогательные команды все чтение от STDIN по умолчанию. Мы можем протестировать это с действительно простым тестом:
$ echo testing | gzip | zcat
testing
Или что-то более экзотическое для доказательства это не было счастливой случайностью:
$ 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 -
, Который намекает мне, что Ваш s3cmd
вывод грязен или уродлив в некотором роде. Попытайтесь перенаправить в файл (скорее tha обеспечение реального имени файла) и затем рассмотрение вывода в чем-то как head
. Или загрузите его правильно и сравните.