Zuviele Datein für Grep
Zuviele Datein für Grep
hiho,
mit welchem kommandozeilenprog kann ich wie mit grep nach dateien mit bestimmten inhalt suchen und mir diese anzeigen lassen wenn in einem ordner zuviele dateien für grep drin sind ?
thx
elias
mit welchem kommandozeilenprog kann ich wie mit grep nach dateien mit bestimmten inhalt suchen und mir diese anzeigen lassen wenn in einem ordner zuviele dateien für grep drin sind ?
thx
elias
Code: Alles auswählen
grep -r "was du sucht" /ordner/mit/vielen/dateien/
Das ist nicht zu lang für grep, sondern zu lang für die Shell.
"*" wird durch die Shell ersetzt, bevor das Programm aufgerufen wird.
In solchen Fällen kann helfen.
Markus' Lösung ist jedoch vorzuziehen.
"*" wird durch die Shell ersetzt, bevor das Programm aufgerufen wird.
In solchen Fällen kann
Code: Alles auswählen
echo * | xargs programm
Markus' Lösung ist jedoch vorzuziehen.
hm..ich glaube ich hab mich falsch ausgedrückt oder ihr mich falsch verstanden
ich hab in einem ordner so dermaßen viele dateien dass ich auf den befehl
folgende fehlermeldung kriege
wenn ich die anzahl der dateien halbiere (was ich aber eigenlich nicht will) dann funktioniert es
ich hab in einem ordner so dermaßen viele dateien dass ich auf den befehl
Code: Alles auswählen
grep -H 192.168.0.245 *
Code: Alles auswählen
-bash: /bin/grep: Die Argumentliste ist zu lang
Und alle beide Antworten waren korrekt!
um dein Beispiel nicht zu sehr zu verändern, funktioniert.. Wie bereits gesagt sind es zu viele Dateien.. das * wird von der Shell aufgelöst und die Shell kann nicht so viele Argumente an grep üergeben.
Code: Alles auswählen
grep -H 192.168.0.245 -r .
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com
a great free and opensource FPS game: http://nexuiz.com
Hallo,
verwende (ungetestet), das ist das gleiche wie markus_b sagt, auf den Ordner in dem du dich befindest.
Nehmen wir an, du willst im Ordner /var/log/squid nach der IP 192.168.0.245 suchen:
oder alternativ:
Gruss
Christof
PS: Achtung: In den Code-Blöchen hat es Punkte, die man fast nicht sieht (oder meine Blindheit nimmt zu)
verwende
Code: Alles auswählen
grep -r -H 192.168.0.245 .
Nehmen wir an, du willst im Ordner /var/log/squid nach der IP 192.168.0.245 suchen:
Code: Alles auswählen
cd /var/log/squid
grep -r -H 192.168.0.245 .
Code: Alles auswählen
grep -r -H 192.168.0.245 /var/log/squid
Christof
PS: Achtung: In den Code-Blöchen hat es Punkte, die man fast nicht sieht (oder meine Blindheit nimmt zu)
"Wer sich nicht bewegt, spürt seine Fesseln nicht." - Rosa Luxemburg
aaah 
mit funktionierts
viele dank und eine angenehme nachtruhe wünsch ich
Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.

mit
Code: Alles auswählen
echo * | xargs grep -H 192.168.0.245
viele dank und eine angenehme nachtruhe wünsch ich
Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.