查看非常宽的文件

查看非常宽的文件

我需要查看一些 5,200 字节宽的文件。有没有任何工具可以在不修改文件的情况下实现这一点?理想情况下,我想指定我正在查看哪些列。

答案1

如果您想要仅显示特定列(例如第 1,5 和 12 列),请使用awk

awk '{print $1,$5,$12}' wide_file.txt | less

awk自动将行分割成字段并将它们分配给变量。第一个字段是$1,第二个字段$2等。默认情况下,它以空格分隔,如果您有不同的分隔符(例如制表符),请使用 指定它-F

awk -F'\t' '{print $1,$5,$12}' wide_file.txt | less

我从未使用过 Solaris,但根据这一页,默认值awk可能不支持该-F选项,在这种情况下您应该使用/usr/bin/nawk/usr/xpg4/bin/awk

答案2

这里有两个建议,它们都适用于大文件。 (就行大小和行数而言,大并不重要)

建议一:

cut您可以使用和的组合less

使用cut您可以通过字节位置和逻辑位置指定“列”。实际上你甚至可以使用角色位置。 (字节位置和字符位置之间的差异仅在文件包含多字节字符时才相关)。

假设您想查看每行的 1200-1270 字节,那么您可以执行以下操作:

cut -c1200-1270 wide_file.txt | less

或者如果您想查看逻辑列 33-37 那么您会这样做

cut -f33-37 wide_file.txt | less


建议2:

您也可以less单独使用。

less使用 -S 选项调用,如下所示

less -S wide_file.txt

然后,您可以通过执行 n + 向右箭头或 n + 向左箭头在文件中向左或向右滚动,其中“n”是要滚动的位置数。

假设您想向右滚动 2000 个位置。然后输入 2000,然后按向右箭头。瞧!

相关内容