как использовать zcat без предупреждения при использовании трубы - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь замолчать предупреждение zcat через option -q or 2>/dev/null пока ничего не работает. Я продолжаю получать одно и то же предупреждение, когда отсутствует имя файла. Я перебираю сотни сжатых файлов, чтобы извлечь конкретные данные. Идея состоит в том, что если zcat обнаружит плохое имя или пропущенное имя файла, zcat просто останется и будет ждать следующего цикла, но в настоящее время это то, что я получаю при использовании обеих опций

zcat -q $ ram | head -n1 или zcat $ ram | head -n1 2> / dev / null

gzip: compressed data not read from a terminal. Use -f to force decompression.
For help, type: gzip -h

Любая идея, как решить это или более быстрый способ чтения .gz-файла с тихой функцией, которая работает?

Спасибо

1 Ответ

2 голосов
/ 08 марта 2019

В настоящее время вы перенаправляете только stderr из head; вы вообще не перенаправляете с zcat. Если вы хотите перенаправить stderr из zcat, вам нужно поставить перенаправление перед символом канала, например:

zcat $ram 2>/dev/null | head -n1
...