ls -halから列を省略する

ls -halから列を省略する

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が異なることを意味します。

あなたができることはスペースを一つにまとめることです:

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

ただし、ファイル名から潜在的な二重スペースも削除されます。

この回答でもっと学ぶこともできますここ:

コマンドオプションを確認するための通知です。この場合、JiggglyNagaが提供するコマンドのみを使用すると簡単に結果が得られます。

関連情報