aktualisiert Antwort
Ich bin nicht vertraut mit den spezifischen git
Befehle, die Sie verwenden, und Sie scheinen nicht vernünftig auf die Fragen in den Kommentaren entweder zu antworten. Ich denke, man wahrscheinlich so etwas wie diese, obwohl will:
git ls-files | grep -v 'bin' | xargs -L 128 git grep -e "alex" --
Original-Antwort
Der klassische Weg zu lösen „Fehler: Argument-Liste zu lang“ ist mit xargs
. Es kann verwendet werden, um ein Skript, dessen Name Sie angeben, wiederholt aufzurufen, oder echo
, wenn Sie kein Skript angeben, mit einer begrenzten Anzahl von Argumenten, bis alle Argumente verbraucht sind.
Also, stellen Sie sich vor, Sie haben eine Million Dateien in einem Verzeichnis, dann ls *
wird fehlschlagen, aber eine einfache ls
wird funktionieren. So können wir, dass in Gebrauch genommen mit:
ls | xargs -L 128
die echo
nennen wiederholt mit 128 Dateinamen in einer Zeit, bis alle Echos sind (weil wir nicht einen Dienstprogramm Namen vorsah).
So könnten Sie tun:
ls | xargs -L 128 yourScript.py
Ihren Python-Skript mit 128 Dateinamen zu einer Zeit wiederholt zu nennen. Natürlich machst du etwas völlig anderes und inkompatibel mit dieser Technik, aber deine Antworten sind bisher nicht sehr hilfreich ...
Du fragst "was kann das Problem sein"? Nun, wahrscheinlich ist die Argumentliste zu lang, oder? Hast du seine Länge überprüft? Jede Schale hat Grenzen. – arkascha
Wie kann ich es überprüfen? Wenn ich von der Befehlszeile aus laufe, habe ich kein Problem. @arkascha – Alex
Nun, wie heißt es? Sie könnten die Argumentliste beispielsweise in eine Datei umleiten. – arkascha