ls -hal で 1 つの列を省略する

ls -hal で 1 つの列を省略する

groupの出力で列を省略するにはどうすればよいですかls -hal?

使用していてls -hal|cut -f4 --complement -d ' '、ほとんどの場合は動作しますが、実行すると/ 出力が乱れます。

drwxr-xr-x  25 root 4.0K Dec 21 06:08 .
drwxr-xr-x  25 root 4.0K Dec 21 06:08 ..
drwxr-xr-x   root root 4.0K Jan 12 06:17 bin
drwxr-xr-x   root root 4.0K Jan 16 10:36 boot
drwxrwxr-x   root root 4.0K May  1  2018 cdrom
-rw-------   root root  56M May  1  2018 core
drwxr-xr-x  20 root 4.7K Jan  6 17:54 dev
drwxr-xr-x   root root 4.0K Oct  9 15:14 .dotnet
drwxr-xr-x 154 root  12K Jan 16 10:36 etc
drwxr-xr-x   root root 4.0K Nov 24 19:39 home

(なぜこのようなことが起こるのかは分かりませんがls -hal

drwxr-xr-x  25 root root 4.0K Dec 21 06:08 .
drwxr-xr-x  25 root root 4.0K Dec 21 06:08 ..
drwxr-xr-x   2 root root 4.0K Jan 12 06:17 bin
drwxr-xr-x   3 root root 4.0K Jan 16 10:36 boot
drwxrwxr-x   2 root root 4.0K May  1  2018 cdrom
-rw-------   1 root root  56M May  1  2018 core
drwxr-xr-x  20 root root 4.7K Jan  6 17:54 dev
drwxr-xr-x 154 root root  12K Jan 16 10:36 etc

私も試してみましたawk '{print $1,$2,$3,$5,$6,$7,$8,$9}'が、いつも配置がおかしくなります:

drwxr-xr-x 25 root 4.0K Dec 21 06:08 .
drwxr-xr-x 25 root 4.0K Dec 21 06:08 ..
drwxr-xr-x 2 root 4.0K Jan 12 06:17 bin
drwxr-xr-x 3 root 4.0K Jan 16 10:36 boot
drwxrwxr-x 2 root 4.0K May 1 2018 cdrom
-rw------- 1 root 56M May 1 2018 core
drwxr-xr-x 20 root 4.7K Jan 6 17:54 dev

答え1

lsグループ列を非表示にする特定のオプションがあります。ls(1):

-G--no-group

長いリストではグループ名を印刷しない

-o

好きです-lが、グループ情報は表示しません

ls -haoしたがって、 、 または のいずれかを使用できますls -halG

答え2

あなたの場合、問題は結果に複数の単一スペースがあることです ls -alh /つまり、フィールド 4 は別のフィールドです。

スペースを 1 つに集約することができます。

ls -alh / | sed 's/\s\s*/ /g' | cut -f4 -d' ' --complement

ただし、ファイル名から二重スペースも削除されることに注意してください。

この回答からさらに詳しく知ることができますここ:

コマンド オプションを確認するよう、念のためお知らせします。この場合、JigglyNaga によって提供されるコマンドを使用して、結果を簡単に達成できます。

関連情報