Fel*_*ipe 9 command-line shell filesystems bash files
我知道我可以用它ls -lat来找出一个文件有多少字节,然后乘以 8 来找出有多少位。但这仅在一个命令行中可行吗?
小智 16
使用 GNU du:
du -b FILE | awk '{ print $1 * 8 }'
Run Code Online (Sandbox Code Playgroud)
一个 shell + GNU coreutils 解决方案:
echo $(( 8 * $(stat -c%s FILE) ))
Run Code Online (Sandbox Code Playgroud)
仅返回文件大小(以字节为单位)的-c%s选项stat,无需额外的文本处理。GNU coreutils 支持此语法,因此应该可以在大多数 linux 发行版下使用。
作为 linux 上的一个例外,如果使用可选的 zsh/stat 模块运行 zsh,则需要指定获取 GNU coreutils 的路径:
echo $(( 8 * $(command stat -c%s FILE) ))
Run Code Online (Sandbox Code Playgroud)