Pipe
即使未壓縮,是否可以使 zcat 輸出文本?
問題是我有一些壓縮或純文字的數據庫轉儲。文件副檔名等沒有區別。
zcat
在未壓縮的文件上使用會產生錯誤而不是輸出。是否有另
cat
一種足夠智能的工具來檢測它得到的輸入類型?
只需添加
-f
選項。$ echo foo | tee file | gzip > file.gz $ zcat file file.gz gzip: file: not in gzip format foo $ zcat -f file file.gz foo foo
(如果您不是 GNU(或現代 BSD 中的 GNU 模擬)並且只知道文件,請使用
gzip -dcf
而不是)。zcat -f``zcat``.Z
一個可移植的簡單建議是使用
zgrep
而不是zcat
,並且只使用匹配每一行的搜尋模式。zgrep $ some-file
不像
zcat
,zgrep
會愉快地處理未壓縮的文件。來自 man zgrep:zgrep - search possibly compressed files for a regular expression