GNU/Linux >> Linux の 問題 >  >> Linux

コマンド出力またはファイルの内容を列形式で表示する

混雑したコマンド出力またはファイルコンテンツを端末で表示することにうんざりしていませんか。この短い記事では、コマンド出力またはファイルの内容を非常に明確な「列化」で表示する方法を示します。 」形式。

を使用できます 標準入力またはファイルコンテンツを複数の列の表形式に変換して、非常に明確な出力を実現するユーティリティ。

また読む :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

列コマンドの使用 、次のように非常に明確な出力を表示できます。ここで、-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を使用します。 switch and to instruct columnコマンドは、空の行(デフォルトでは無視されます)を考慮し、-eを含めます。 フラグ。

別の実用的な例を次に示します。以下の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 

次の関連記事もお読みください。

  1. Awkおよび正規表現を使用してファイル内のテキストまたは文字列をフィルタリングする方法
  2. Linuxで変更日時に基づいてファイルを検索およびソートする方法
  3. 文字クラスとブラケット式に関する11の高度なLinux「Grep」コマンド

ご不明な点がございましたら、以下のコメントフォームからご連絡ください。 Linuxで役立つコマンドラインのヒントやコツを教えてください。


Linux
  1. ツリーコマンドの出力をJson形式に変換しますか?

  2. ファイルの内容をStdoutに出力するコマンド?

  3. 変更中にファイルの内容を出力しますか?

  1. ファイルの 2 列目を出力する

  2. コマンド出力をファイルと端末にリダイレクト

  3. Linuxコマンド出力をファイルに出力するには?

  1. Linuxでコマンド出力をファイルに保存する方法

  2. ファイルの内容を再帰的に表示するには?

  3. 実行時のコマンドの各出力のプレフィックス