コマンド出力またはファイルの内容を列形式で表示する
ターミナル上で混雑したコマンド出力やファイルの内容を表示することにうんざりしていませんか。この短い記事では、コマンド出力またはファイルの内容を明確な「列形式」形式で表示する方法を説明します。
列ユーティリティを使用して、標準入力またはファイルのコンテンツを複数の列の表形式に変換し、より明確な出力を得ることができます。
こちらもお読みください: Linux で効果的なファイル操作を行うためにテキストをフィルタリングするための 12 の便利なコマンド
より明確に理解するために、次のファイル「tecmint-authors.txt」を作成しました。このファイルには、上位 10 人の著者名、執筆された記事の数、およびこれまでに記事に対して受け取ったコメントの数のリストが含まれています。 。
これを実証するには、以下の cat コマンドを実行して tecmint-authors.txt ファイルを表示します。
cat tecmint-authors.txt
サンプル出力
pos|author|articles|comments
1|ravisaive|431|9785
2|aaronkili|369|7894
3|avishek|194|2349
4|cezarmatei|172|3256
5|gacanepa|165|2378
6|marintodorov|44|144
7|babin lonston|40|457
8|hannyhelal|30|367
9|gunjit kher|20|156
10|jesseafolabi|12|89
column コマンドを使用すると、次のように非常に明確な出力を表示できます。-t
は、入力に含まれる列の数を決定し、テーブルを作成するのに役立ちます。-s は区切り文字を指定します。
cat tecmint-authors.txt | column -t -s "|"
サンプル出力
pos author articles comments
1 ravisaive 431 9785
2 aaronkili 369 7894
3 avishek 194 2349
4 cezarmatei 172 3256
5 gacanepa 165 2378
6 marintodorov 44 144
7 babin lonston 40 457
8 hannyhelal 30 367
9 gunjit kher 20 156
10 jesseafolabi 12 89
デフォルトでは、行は列の前に埋められます。行を埋める前に列を埋めるには、-x
スイッチを使用し、列コマンドに空行を考慮するように指示します (デフォルトでは無視されます)。 -e
フラグを含めます。
これはもう 1 つの実践的な例です。以下の 2 つのコマンドを実行して違いを確認し、マジック コラムでできることをさらに理解してください。
mount
mount | column -t
サンプル出力
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4013172k,nr_inodes=1003293,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=806904k,mode=755)
/dev/sda10 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (rw,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/
....
適切にフォーマットされた出力をファイルに保存するには、次のように出力リダイレクトを使用します。
mount | column -t >mount.out
詳細については、列のマニュアル ページを参照してください。
man column
以下の関連記事もお読みください。
- Awk と正規表現を使用してファイル内のテキストまたは文字列をフィルタリングする方法
- Linux で変更日時に基づいてファイルを検索および並べ替える方法
- 文字クラスと括弧式に関する 11 の高度な Linux 'Grep' コマンド
ご質問がございましたら、以下のコメント フォームを使用してご連絡ください。 Linux で役立つコマンド ラインのヒントやテクニックを私たちと共有することもできます。