Wiele razy muszę pracować z katalogami zawierającymi setki tysięcy plików, dopasowując tekst, zastępując i tak dalej. Jeśli pójdę standardową trasę, powiedzmyJak radzisz sobie z problemem "Zbyt wiele plików" podczas pracy w Bash?
grep foo *
pojawia się zbyt wiele wiadomości pliki błędzie, więc kończy się robi
for i in *; do grep foo $i; done
lub
find ../path/ | xargs -I{} grep foo "{}"
Ale to mniej niż optymalny (utwórz nowy proces grep dla każdego pliku).
To wygląda bardziej na ograniczenie rozmiaru argumentów, które mogą otrzymać programy, ponieważ * w pętli for działa poprawnie. Ale w każdym razie, jaki jest właściwy sposób, aby sobie z tym poradzić?
PS: Nie mów mi, żebym zrobił grep -r zamiast tego, wiem o tym, myślę o narzędziach, które nie mają opcji rekursywnej.
Świetna rada! Nigdy nie wiedziałem o opcji "+". – mhawke