2013-06-25 3 views
0

Я пытаюсь удалить удаленные файлы с мерзавцем:удалить удаленные файлы из мерзавца: список аргументов слишком долго

git rm `git status | grep deleted | awk '{print $3}'` 

Но получил ошибку в макинтош Баш:

-bash: /usr/local/git/bin/git: Argument list too long 

Если я бегу .. .

git status | grep deleted | awk '{print $3}' 

... Я успешно получил список файлов для удаления. Но как удалить их из git?

+0

Вы ищете git add -A? – innaM

ответ

6

xargs ограничивает длину команды чем-то, что оболочка не будет подавлять и вызывать команду, переданную столько раз, сколько требуется.

git status | grep deleted | awk '{print $3}' | xargs git rm 
+0

Будьте осторожны с этим. Я бы предпочел grep на "deleted:". Кроме того, если имя файла содержит «deleted:», оно будет удалено из элемента управления git. – Eamorr

+0

Grep для «^ \ s * deleted:» вместо этого, если вы не хотите удалять имена файлов, содержащие текст «deleted:». – AgentME