[英]Bash - how to list files with size in bytes
我想使用 ls 命令來 output 目錄中的文件,但是我需要以字節為單位的文件大小。
這可以用 ls 命令嗎?
在類似的問題上,我發現這個ls -l --block-size=M
以兆字節為單位輸出文件大小,但是我似乎無法讓它只使用字節。
如果您正在尋找有關文件的統計信息,那么您希望使用stat
而不是ls
。 例如:
stat --format=%n:%s *
$ ls -l foo.tar.gz
-rw-r--r-- 1 james james 68964464 Mar 12 2014 foo.tar.gz
在我的ls (GNU coreutils) 8.26
:
$ ls -s --block-size=1 foo.tar.gz
68972544 foo.tar.gz
大多數情況下ls -l
就足夠了。
ls -l | tr -s " " | cut -d " " -f5,9-
tr -s " "
用一個空格依次替換多個空格
cut -d " " -f5,9-
將分隔符設置為空格,然后打印字段 5 和 9。 從 9 開始是因為文件名中可以有空格,只需打印字段 9 即可;y 得到第一個單詞
獎勵:如果你想切換輸出順序($filename $bytes),你可以添加一個
| sed 's_\\([0-9]*\\) \\(.*\\)_\\2 \\1_'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.