我有一个 .gz,我需要合并它并对其进行其他操作(不压缩它),但是我在使用 zcat 或 gzip -dc 或 awk 时遇到了麻烦,例如,当我将这些值传递给 less -S 时像这样:
awk '{print $1}' <(gzip -dc file.gz) | less -S
我打印的列不正确。当我使用 less -S 查看文件时,只打印最后几列。所以我认为这是分隔符的问题,但我尝试在 R 中导入一些行(它太大而无法导入整个文件),而且它似乎是空格分隔的,因为当我这样做时所有列都显示出来:
x=read.table("file.gz", header=T, nrows=100)
但是如何正确读取行以将此文件与 zcat 一起使用?
非常感谢您的帮助!
如果要打印整行,请尝试 $0。
awk '{print $0}' <(gzip -dc file.gz) | less -S
如果要打印特定的列,请使用 -F 作为特定的字段分隔符。例如,如果您希望每行的第一个字段以“:”分隔(如在/etc/passwd 中),请尝试此命令。
awk -F':' '{print $1}' <(gzip -dc passwd.gz) |less -S
我是一名优秀的程序员,十分优秀!