端末コマンドで列名を識別する方法

端末コマンドで列名を識別する方法

コマンド出力データから特定の列を選択/選択解除することが役に立つ場合もありますが、マンページにこれらの列が必ず名前でリストされるわけではありません。これらの名前をどのように見つけることができますか?

例えば

2 つのコマンドを実行して出力を表示します。

$ sudo journalctl -eu NetworkManager -o short
Feb 06 06:52:56 user NetworkManager[713]: <info>  [1707206156.8193] device (tun0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external')
Feb 06 06:52:56 user NetworkManager[713]: <info>  [1707206156.8195] device (tun0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external')
Feb 06 06:52:56 user NetworkManager[713]: <info>  [1707206156.8207] device (tun0): Activation: successful, device activated.

この出力には、6つの異なる列(強調表示のために類似名が付けられています)が含まれているようです。

日付、ユーザー、プロセス、タイプ、日付2、メッセージ

2番目のコマンドを実行すると、列にlsblk名前が割り当てられていることがわかります。

$ lsblk
NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
zram0                                         253:0    0   7.3G  0 disk  [SWAP]
nvme0n1                                       259:0    0 238.5G  0 disk

--output以下を実行して必要な列を選択できます。columns

$ lsblk --output NAME,SIZE
NAME                                            SIZE
zram0                                           7.3G
nvme0n1                                       238.5G

man lsblkページは、他の多くのコマンドが提供しない列のヘルプを提供します。

 -o, --output list
              Specify which output columns to print.  Use --help to get a list of all supported columns.  The columns may affect tree-like output.  The default is to
              use tree for the column 'NAME' (see also --tree).

              The default list of columns may be extended if list is specified in the format +list (e.g., lsblk -o +UUID).

マンページにリストされていない場合(選択または見つからない場合)、どのように列を識別して名前を付けますか?

関連情報