我想在我的存储库中找到10个最大的文件.我想出的脚本如下:
REP_HOME_DIR=<top level git directory>
max_huge_files=10
cd ${REP_HOME_DIR}
git verify-pack -v ${REP_HOME_DIR}/.git/objects/pack/pack-*.idx | \
grep blob | \
sort -r -k 3 -n | \
head -${max_huge_files} | \
awk '{ system("printf \"%-80s \" `git rev-list --objects --all | grep " $1 " | cut -d\" \" -f2`"); printf "Size:%5d MB Size in pack file:%5d MB\n", $3/1048576, $4/1048576; }'
cd -
Run Code Online (Sandbox Code Playgroud)
是否有更好/更优雅的方式来做同样的事情?
"文件"是指已经检入存储库的文件.
我试过了,$filesize=(($fileXP).length/1KB)
但这并没有检索到正确的答案。至于我的理解,它只是将文件中的字符数除以 KB 并给出错误的答案。
必须有一些函数或属性来直接定义大小并根据需要以 KB 或 MB 或 GB 显示。
我有以下内容
Import-Module SqlServer
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$estimatedSize = $([math]::Round($($($Analysis_Server.Databases[$cube].EstimatedSize)/1024/1024),2))
Run Code Online (Sandbox Code Playgroud)
这会为我生成大小(以 MB 为单位)
我想增强这一点,使其更加用户友好可读,特别是对于两位数 MB 的值
例如,有时我会得到50.9 MB很好的值。但其他一些值是37091 MB或,并且我希望这样的值在 GB 范围内3082.86 MB自动转换为 GB (分别)。37.09 GB, 3.08 GB
如果有不在 MB 范围内的值,则应以 KB 为单位显示
即0.78 MB应该是780 KB
我怎样才能做到这一点?