
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 によって提供されるコマンドを使用して、結果を簡単に達成できます。