私はこれを使用して、du
パッケージスクリプトから結果アーカイブのファイルサイズを取得します。
> du -smh archive.zip
51M archive.zip
51M
印刷できるように部品を変数に割り当てたいと思います。
Archive size: 51M
どうすればいいですか?
答え1
次のことができます。
$ variable=$(du -smh archive.zip | awk '{print $1}')
詳細
awk
出力は解析され、列で区切られます。最初の列の結果のみが必要です。 $( .. ) コードはコマンドを実行し、結果を返します。
答え2
または、stat
利用可能な場合は、このプログラムを使用してください(通常はLinuxではデフォルト)。人間が読むことができるK / M / G変換はありませんが、数値を取得するために他のものが必要ないか、素晴らしい形式オプションがあります。
sauer@humpy:~$ stat -c "%s" /etc/passwd
2302
sauer@humpy:~$ stat -c "%n size: %s bytes" /etc/passwd /etc/shadow
/etc/passwd size: 2302 bytes
/etc/shadow size: 1389 bytes
答え3
awkはナイフで切るのに必要なものよりも大きなハンマーです。
variable=$(du -smh archive.zip | cut -f1 )