Bash
如何在一個命令中找出一個文件有多少位?
我知道我可以用它
ls -lat
來找出一個文件有多少字節,然後乘以 8 來找出有多少位。但這僅在一個命令行中可行嗎?
使用 GNU
du
:du -b FILE | awk '{ print $1 * 8 }'
shell + GNU coreutils 解決方案:
echo $(( 8 * $(stat -c%s FILE) ))
僅返回文件大小(以字節為單位)的
-c%s
選項stat
,無需額外的文本處理。GNU coreutils 支持這種語法,因此應該可以在大多數 linux 發行版下工作。作為 linux 上的一個例外,如果使用可選的 zsh/stat 模組執行 zsh,則需要指定獲取 GNU coreutils 的路徑:
echo $(( 8 * $(command stat -c%s FILE) ))