Home > Tutorials und Tipps > In der Shell schnell mal alle Dateien im Verzeichnis nach *.bak sichern

In der Shell schnell mal alle Dateien im Verzeichnis nach *.bak sichern

Kurznotiz, gilt für Mac / Linux / Unix / (bei Windows hilft nur “format c:” ;) )

Oft muss ich in einem Ordner schnell mal alle Dateien sichern als Backup da ich sie im nächsten Moment überschreibe.

Um nicht den ganzen übergeordneten Ordner gleich komplett sichern zu müssen sondern nur die Dateien im aktuellen Ordner ohne Unterverzeichnisse zu sichern habe ich folgenden befehl:

for i in *.*; do cp $i $i.bak ; done

Alle Dateien im Ordner werden dann von xyz.txt nach xyz.txt.bak kopiert, wer anstelle des kopieren die Daten verschieben will ersetzt im script einfach “cp” mit “mv”

Wer in einem Verzeichnis nur bestimmte Dateitypen z.B. *.html sichern mag macht dies dann so:

for i in *.html; do cp $i $i.bak ; done

somit werden an alle *.html Dateien im Ordner nach *.html.bak gesichert

Das gleiche geht mit jedem beliebigen Dateityp ^^

Viel spaß! Hoffe es hilft dem einem oder anderen :)

  1. 18. Mai 2009, 19:18 | #1

    Wozu ${i%*}.bak? ${i}.bak tut’s doch auch :)

    Gruß,
    Marcel.

  2. 19. Mai 2009, 07:50 | #2

    Der Adminblogger hat recht^^ … mh ich glaube ich hab vorher zu lange daran rumgefuscht und das war mein Ergebnis :)

    Aber Danke! Ich werde es gleich mal ändern!

  3. 19. Mai 2009, 08:24 | #3

    Cooler Tipp – aber was machst Du mit Dateien, die keinen Suffix haben?

  4. dafire
    19. Mai 2009, 10:33 | #4

    hmm.. ich mach sowas normal mit find -exec

  1. 21. Mai 2009, 01:15 | #1