1.9k Aufrufe
Gefragt in Linux von
Hallo Leute

Ich möchte in einen Verzeichnis die Datein nach ein Stichwort
durchsuchen und in ein anderen Verzeichnis verschieben.

mit den befehl komme ich nicht richtig weiter:

find /verzeichnis/A/ -exec grep -i 'suchwort' /dev/null -exec mv {}
/zielverzeichnis/working \;

mit den befehl finde ich zwar datein, aber das verschieben klappt
einfach nicht:

find /verzeichnis/A/ -exec grep - i 'suchwort' /dev/null {} \;

Vielen dank für die Hilfe

Gruß Dennis

12 Antworten

0 Punkte
Beantwortet von
Ich glaube da klappt was nicht mit dem Syntax.
Das mit -exec {} bedeutet, dass das Suchwort muss schon vorher bekannt sein, damit es in den {} aufgenommen werden kann.
Ich habe hier jetzt ein Beispiel das nach Dateien sucht und diese nachher kopiert:
find /usr/local/bin -name 'g*' -exec cp -a {} /home/benutzer/ordner/ \;
/usr/local/bin - eigene Scripte und alle die mit "g" anfangen.

Für dein Vorhaben musst du erst mal das richtige "Werkzeug" (Befehl) finden, das nach dem bestimmten Stichwort in den Dateien sucht, welches nachher per -exec {} abgefangen wird.

Was ich nicht verstehe oder anderes...
Warum keine Fehlermeldungen, mein Terminal labert mich voll, wenn auch nur ein Leerzeichen und ähnliches fehlt oder nicht da ist, wo es sein sollte?
0 Punkte
Beantwortet von
Ich möchte in einen Verzeichnis die Datein nach ein Stichwort
durchsuchen und in ein anderen Verzeichnis verschieben.
Missverständlich beschrieben, bitte nachbessern.

Und bluestar1 = id1213?
...