如何在 Linux 终端中以列格式显示文件内容
有时,您可能希望在 Linux 中使用命令行时以柱状格式显示文件的内容。幸运的是,有一个 Linux 命令 Column 允许您以柱状格式显示文件的内容。它是非常简单且易于使用的命令行实用程序。
此命令行实用程序将输入文件转换为多列,您可以根据任何分隔符将内容转换为列。列命令在列之前填充行。
今天我们将了解 Column 命令的基础知识以及如何以最有用的方式使用它来格式化内容。在本文中,我使用 Ubuntu 18.04 LTS 来描述该过程。
列命令的语法
列命令的一般语法是:
$列[参数] [文件名]
在[参数]中,您可以指定以下选项:
-s 指定分隔符。
-c 输出根据一行中允许的字符总数进行格式化。
-t 创建表格,默认使用空格或-s选项指定的字符作为分隔符
-x 默认情况下,行先于列填充,但使用此参数可以先填充列再填充行
-n 默认情况下,多个分隔符会合并为单个分隔符。您可以使用 –n 参数禁用此行为。
-e 默认情况下,空行将被忽略。您可以使用 –e 参数禁用此行为。
列命令用法
例如,我创建了一个名为“test”的测试文件,其内容如下图所示。请注意,您可以在终端中使用 cat 命令查看文件的内容,而无需打开它。
按 Ctrl+Alt+T 启动终端并输入:
$cat [文件名]
我的测试文件如下所示:
要查看column命令的实际作用,请输入column,后跟文件名:
$列[文件名]
通过输入上面的命令,您将看到该命令已将文件的内容转换为列。
这是 Column 命令最简单的解释。现在我们将看到这个命令的更多用法。
使用自定义分隔符或分隔符
您可以在 Column 命令中使用自定义分隔符,该分隔符会告诉它何时应将内容拆分为新列。
我正在使用一个测试文件,其中包含如下图所示的内容。它包含以逗号分隔的数据。
使用-t参数以表格格式显示内容。默认情况下,它使用空格作为分隔符。
要根据特定分隔符分隔内容,请使用 –s 参数,后跟特定分隔符或分隔符,如以下命令语法所示:
$column -t [-s 分隔符] [文件名]
使用 -n 参数添加多个分隔符
默认情况下,column 命令将多个相邻分隔符合并为一个分隔符。例如,我们有一个示例文件,其中包含具有多个相邻分隔符的内容,如下图所示。
Column 命令会将多个分隔符视为单个分隔符,并显示如下输出
添加 -n 选项将禁用此行为。使用以下语法运行命令:
$列 [-n] [-t] [-s 分隔符] [文件名]
您会注意到前两列之间的空格,这意味着它没有将相邻的分隔符合并为一个分隔符。
使用 -e 参数添加空行
默认情况下,column 命令会忽略空行。如果您想在列中包含这些空行,请使用 –e 参数。
例如,我有以下示例文件,其中有一些空行。
我已经使用了column命令,但是您可以看到column命令不包含空行。
要允许 column 命令在输出中包含空行,请使用以下语法中的命令:
$列 [-e] [-t] [-s 分隔符] [文件名]
您会注意到空行现在包含在 column 命令的输出中。
使用 -x 参数在行之前填充列
Column 命令通过首先填充行然后填充可能不适合某些文件的列来将内容转换为列。但是,您可以更改此行为,并可以在填充行之前填充列。为了清楚地理解,请参阅下面的示例。
在此示例中,我有一个名为“xyz”的测试文件,其中包含一些内容。我的测试文件如下所示:
使用 Column 命令将显示如下输出。但这不适合上述类型的文件。
为此,我们将使用 -x 参数。键入列,后跟 -x 和文件名。
$列 [-x] [文件名]
现在您会注意到此输出的格式适合我们上面的示例文件。
使用 -c 参数更改显示宽度
您可以拉伸命令输出的显示宽度。使用column命令中的-c参数指定行的宽度。在此示例中,我有一个名为“xyz”的文件,其中包含一些内容,如下所示。
仅使用 column 命令会显示如下输出:
要更改显示的宽度,请键入命令,后跟 –c 参数。为了减少显示的宽度,我使用以下语法输入了命令:
$列 [-c 字符] [文件名]
为了增加显示的宽度,我输入了如下图所示的命令:
现在您可以看到显示屏的宽度增加了。
保存列输出
要保存使用 Column 命令完成的格式化输出,您可以在终端中使用以下命令。该命令的语法为:
$列[参数] [文件名1] > 文件名2
现在就这些了。您已经看到,通过本文中描述的列命令的基本但有用的示例,您可以完全掌握该命令并使用它来格式化您的内容,否则您必须手动执行此操作。