In Shell suchen und kopieren

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo

wie kann ich unter Linux Ubuntu, bzw. Shell eine Datei in vielen Unterordnern suchen, die die Endung .mbox haben.

Hiermit:

find / -iname "*.mbox"
Falls ein oder mehrere Treffer vorhanden sind, soll die Datei in /home/user/treffer.mbox kopiert werden.

Dann hänge an den obigen Befehl noch das hier dran:

-exec mv '{}' \;
Das Problem jedoch, da es mehrere Unterordner sind, kann es sein, dass die Datei mit dem gleichen Namen mehrfach vorkommen.

Dann ist dieser Parameter für mv der richtige:

--backup=numbered
Wenn ich aber alles in /home/user/treffer.mbox kopieren sollte, würde er dies überscchreiben.

Das passiert nicht wenn Du es so machst:

find / -iname --backup=numbered "*.mbox" -exec mv '{}' \;

Die Dateien bekommen dann, bei gleichem Dateinamen eine Nummerierung die dann so aussieht:

name1.mbox~
name1.mbox~1
name1.mbox~2

Die kannst Du dann sichten und bei Bedarf löschen, umbenennen oder anderweitig verarbeiten.

Linuxhase

45

Ooohps, der Parameter --backup=numbered muß natürlich an mv oder cp übergeben werden und NICHT an find. Und für die Fehlerausgabe von find benutzen wir das "Nirwana" um diese zu unterdrücken:

find / -iname "*.mbox" 2>/dev/null -exec cp -v --backup=numbered '{}' \;

Linuxhase

0

Hallo micholee, dies klingt einwenig kompliziert. Es scheint so als ob Du erst ein Programm dafür schreiben müsstest. Ich kenne keinen solchen Befehl, welcher so was durchführen könnte. Zum einen, Dateien welche mit einem Punkt anfangen sind unter Ubuntu versteckte Dateien. Du kannst dich aber mal bei Ubuntuusers.de : http://ubuntuusers.de/ umsehen. Man kann dort auch nur als Gast alle Berichte einsehen. Dort kannst Du dann in aller Ruhe suchen oder wenn Du dich registriers auch Fragen stellen. Die haben richtig Plan von der Sache. Du kannst auch ins Software-Center gehen und dort Midnight Commander runterladen und dann die Dateien manuell von einer Datei in eine Andere kopieren. In diesem Commander sieht man auch die versteckten Dateien. Schönen Sonntag noch - Goofy

45

@roffermann

Es scheint so als ob Du erst ein Programm dafür schreiben müsstest.

Nö, mit find lassen sich die Dateien finden und mit mv oder cp lassen sich diese kopieren oder verschieben und dabei durchnummerieren.

Linuxhase

0

Linuxhase hat dir eine Lösung benannt. Die Frage > In Shell suchen und kopieren

wie auch der Teil der Beschreibung

wie kann ich unter Linux Ubuntu, bzw. Shell ...

sind völlig daneben.

Eine Shell ist ein Programm und in diesem Programm ( in dessen Quellcode) kann man etwas suchen und auch kopieren. Einen Unterordner wirst du darin aber nicht finden.

Man kann mit Shell-Kommandos und Linux-Kommandozeilenbefehlen suchen und kopieren.

Im Satz "wie kann ich unter Linux Ubuntu, bzw. Shell ... " setzt du mit bzw. das Betriebssystem Ubuntu und eine Shell gleich. Das ist aber Unsinn, eine Shell ist Teil eines Betriebssystems.

Was möchtest Du wissen?