我正在做一些不再需要的软件包清理工作,想知道如何用自制软件做这件事。另外,如果一些软件包依赖于我打算删除的另一个软件包,也会很高兴。
答案 0 :(得分:8)
它不是很漂亮,但你可以做到
$ brew list | xargs brew info
它会输出符合
的内容...
/usr/local/Cellar/ant/1.9.6 (1,611 files, 34.8M)
Poured from bottle on 2016-03-31 at 09:35:41
/usr/local/Cellar/ant/1.9.7 (1,611 files, 34.9M) *
Poured from bottle on 2016-12-15 at 09:58:56
..
您安装的每个软件包。我确定一些带有grep的向导可以让你在安装了很多水龙头的情况下为你提供一个漂亮的桌子。
答案 1 :(得分:2)
https://gist.github.com/eguven/23d8c9fc78856bd20f65f8bcf03e691b的这个shell片段会帮助您
$ pip freeze > requirements.txt
答案 2 :(得分:2)
从PTao的解决方案出发,这是一个丑陋的改进版本,其中包括所有程序包版本的合并大小的人工可读总和
for pkg in `brew list -f1 | egrep -v '\.|\.\.'`
do echo $pkg `brew info $pkg | egrep '[0-9]* files, ' | sed 's/^.*[0-9]* files, \(.*\)).*$/\1/' | awk '{print $1;}/[0-9]$/{s+=$1};/[mM][bB]$/{s+=$1*(1024*1024);next};/[kK][bB]$/{s+=$1*1024;next} END { suffix=" KMGT"; for(i=1; s>1024 && i < length(suffix); i++) s/=1024; printf "\t(all versions: %0.1f%s)",s,substr(suffix, i, 1), $3; }'`
done
示例输出:
ack 173.5KB 178.4KB 182.7KB 190.5KB (all versions: 725.1K)
afl-fuzz 556.5KB 561.3KB (all versions: 1.1M)
aircrack-ng 934.2KB 953KB (all versions: 1.8M)
autoconf 1.9MB (all versions: 1.9M)
autojump 325.4KB (all versions: 325.4K)
automake 2.9MB 3.0MB 3MB (all versions: 8.9M)
bash-completion 608.6KB (all versions: 608.6K)
boost 414.6MB 398.7MB (all versions: 813.3M)
cairo 5.9MB 5.9MB (all versions: 11.8M)
cask 166.6KB (all versions: 166.6K)
cmake 31.4MB (all versions: 31.4M)
coreutils 8.5MB 7.9MB 9MB (all versions: 25.4M)
curl 3MB (all versions: 3.0M)
dos2unix 344.4KB 360.5KB (all versions: 704.9K)
ebook-tools 69.6KB 70.5KB (all versions: 140.1K)
eigen 3.5MB 6.5MB (all versions: 10.0M)
答案 3 :(得分:2)
所有冲泡包装的彩色列表,包括尺寸(以及所有版本的整体尺寸)
for pkg in `brew list -f1 | egrep -v '\.|\.\.'`
do echo $pkg `brew info $pkg | egrep '[0-9]* files, ' | sed 's/^.*[0-9]* files, \(.*\)).*$/\1/' | awk '{print "\033[1;32m"$1;}/[0-9]$/{s+=$1};/[mM][bB]$/{s+=$1*(1024*1024);next};/[kK][bB]$/{s+=$1*1024;next} END { suffix=" KBMBGBTB"; for(i=1; s>1024 && i < length(suffix); i+=2) s/=1024; printf "\033[0m\t(all versions: \033[33m%0.1f %s\033[0m)",s,substr(suffix, i, 2), $3; }'`
done
输出看起来像这样:
答案 4 :(得分:1)
brew list | xargs -n1 -P8 -I {} \
sh -c "brew info {} | egrep '[0-9]* files, ' | sed 's/^.*[0-9]* files, \(.*\)).*$/{} \1/'" | \
sort -h -r -k2 - | column -t
答案 5 :(得分:0)
在 Homebrew 2.7.5 版本上 以下命令抛出错误
brew list | xargs brew info | egrep --color '\d*\.\d*(KB|MB|GB)'
错误:调用 brew list
仅列出公式被禁用!改用 brew list --formula
。
将 --formula 添加到 brew list 命令后,它起作用了。
brew list --formula | xargs brew info | egrep --color '\d*\.\d*(KB|MB|GB)'