如何将 .gz 文件的内容转换为小写
How to convert content of .gz files to lowercase
我有很多 .gz 文件,我需要将这些文件的内容全部转换为小写。我试过了:
tr '[:upper:]' '[:lower:]' < input.gz > output.gz
但是当我 zcat "output.gz" 我得到这个错误:
zcat: output.gz: invalid compressed data--format violated
我也试过:
dd if=input.gz | gzip -c9 | dd of=output_1.gz conv=lcase
我得到了同样的错误。我哪里做错了,执行此任务的正确方法是什么?
当您通过 tr 提供压缩数据流时,这是行不通的(好吧,它做了一些事情,但绝对不是您想要的)。您需要解压缩文件(例如使用 zcat),执行转换魔术和重新压缩,如下所示:
zcat input.gz | tr '[:upper:]' '[:lower:]' | gzip > output.gz
我有很多 .gz 文件,我需要将这些文件的内容全部转换为小写。我试过了:
tr '[:upper:]' '[:lower:]' < input.gz > output.gz
但是当我 zcat "output.gz" 我得到这个错误:
zcat: output.gz: invalid compressed data--format violated
我也试过:
dd if=input.gz | gzip -c9 | dd of=output_1.gz conv=lcase
我得到了同样的错误。我哪里做错了,执行此任务的正确方法是什么?
当您通过 tr 提供压缩数据流时,这是行不通的(好吧,它做了一些事情,但绝对不是您想要的)。您需要解压缩文件(例如使用 zcat),执行转换魔术和重新压缩,如下所示:
zcat input.gz | tr '[:upper:]' '[:lower:]' | gzip > output.gz