Git LFSファイルのフルサイズを取得するには?
次の方法でLFSファイルのリストを取得できますgit lfs ls-files --size
。
b1d5dd29dd - file1.zip (1.42 GB)
27d3073f43 - file2.zip (120 MB)
cacd6dbfe3 - folder/file3.zip (110.2 MB)
295442cd34 - "folder/(120 MB).zip" (110.2 MB)
680bb2ab19 * test.txt (5 B)
メモ:両方-
使用*
。
以下を使用して、測定基準のみをインポートするようにフィルタリングできますgit lfs ls-files --size | awk -F " " '{ print $(NF-1) $NF }' | tr -d '()'
。
1.42GB
120MB
110.2MB
110.2MB
5B
これが1000(GB)または1024(GiB)の電力であるかどうかわからないため、より大きな電力(1.00GB = 1024MB)を想定できます。
合計1.88GiB((1.42) * 1024^3 + (120 + 110.2 + 110.2) * 1024^2 + (5) * 1 = 1881648665.48 bytes = 1.88 GiB
)を取得するにはどうすればよいですか?
Git対応する項目を解析せずに全体のサイズを取得する別の方法ls
も許可されています。一般的なBashとGNUツールを使用することをお勧めします。
答え1
人間が読めるサイズの代わりにバイトサイズを印刷するための特定のオプションが見つかりませんが、この--debug
オプションは効果があるようです。ただし、出力は--debug
まったく異なり、マニュアルページによると、「正確な形式はいつでも変更される可能性があります」ので、これを念頭に置いてください。
ただし、バイト単位のサイズについては、次のようにすることができます。
git lfs ls-files --debug | awk -F: '$1~/size/{t+=$2}END{printf "Total is: %dGB\n", t/1024/1024/1024}'
ここで、awkは変数のすべての「サイズ」値を合計し、すべてのt
行を読み取った後にt / 1024 / 1024 / 1024またはGBの値を印刷し、TBに別の/ 1024を追加するか、またはMB 1に対して削除してしばらく待つします。
(「メトリック」データサイズの存在を認識しないため、「GiB」、「MiB」など)