Я запускаю эту команду из Почему мой репозиторий git такой большой? в очень большом репозитории git
как https://github.com/python/cpython
git rev-list --all --objects | sed -n $(git rev-list --objects --all | cut -f1 -d' ' | git cat-file --batch-check | grep blob | sort -n -k 3 | tail -n800 | while read hash type size; do size_in_kibibytes=$(echo $size | awk '{ foo = $1 / 1024 ; print foo "KiB" }'); echo -n "-e s/$hash/$size_in_kibibytes/p "; done) | sort -n -k1;
Работает нормально, если заменить tail -n800
на tail -n40
:
1160.94KiB Lib/ensurepip/_bundled/pip-8.0.2-py2.py3-none-any.whl
1169.59KiB Lib/ensurepip/_bundled/pip-8.1.1-py2.py3-none-any.whl
1170.86KiB Lib/ensurepip/_bundled/pip-8.1.2-py2.py3-none-any.whl
1225.24KiB Lib/ensurepip/_bundled/pip-9.0.0-py2.py3-none-any.whl
...
Я нашел этот вопрос Bash: sed -n arguments , говорящий, что я мог бы использовать awk
вместо sed
.
Знаете ли вы, как исправить это sed: Argument list too long
, когда tail
равно -n800
вместо -n40
?