Bash

如何在一個命令中找出一個文件有多少位?

  • June 5, 2020

我知道我可以用它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) ))

引用自:https://unix.stackexchange.com/questions/111049