Mehrere Dateien kopieren und Zahl im Dateinamen beibehalten

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von alexx86, 28.09.2010.

  1. #1 alexx86, 28.09.2010
    alexx86

    alexx86 Grünschnabel

    Dabei seit:
    28.09.2010
    Beiträge:
    2
    Zustimmungen:
    0
    Hey,
    angenommen, ich habe 3 Dateien:
    04_DateiA, 04_DateiB, 04_DateiC
    und ich möchte die kopieren in:
    05_DateiA, 05_DateiB, 05_DateiC ,
    wie mach ich das denn automatisiert?

    Ich denke an irgendwas in der Richtung:
    Code:
    for($file in `ls 04*`)
    do
      cp $file `sed $file s/4/5/`
    done
    
    Ich hab's aber nicht mehr so drauf im bash-Skripten... wäre schön, wenn mir jemand aushelfen könnte ;)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    for i in 04*; do cp -iv $i 05${i#04}; done
     
  4. #3 HeadCrash, 28.09.2010
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Fast Richtig
    Code:
    for file in `ls 04*`; do 
      cp $file `echo $file | sed 's/4/5/'`; 
    done
    
    mfg
    HeadCrash
     
  5. #4 alexx86, 28.09.2010
    alexx86

    alexx86 Grünschnabel

    Dabei seit:
    28.09.2010
    Beiträge:
    2
    Zustimmungen:
    0
    Danke =)
    Wieso macht `sed $file s/4/5/` die Ersetzung /innerhalb/ der Datei, und deine Lösung die Ersetzung im Dateinamen?
     
  6. #5 HeadCrash, 28.09.2010
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Abend,
    "sed 's/4/5/' $file" würde eine Ersetzung in der Datei vornehmen, dein Beispiel sorgt hier für nen Syntaxerror ;)
    aus "man sed"
    Ich erzähl sed er soll mit dem Dateinamen etwas machen, indem ich die Ausgabe von echo, mit der Pipe "|", als Eingabe für sed verwende. http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html

    Du sagst sed "Mach dieses und jenes mit dieser Datei".

    mfg
    HeadCrash
     
  7. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Die 'sed'-Loesung ist meiner Meinung nach aeusserst fehleranfaellig und ausserdem unnoetig umstaendlich, zumal es ja allein mit der Bash funktioniert. Es gibt uebrigens auch ein Programm namens 'mmv' (multiple move), das hier weiterhelfen koennte, hab's allerdings selber noch nie benutzt.
     
  8. #7 saeckereier, 29.09.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Wonach muss ich denn suchen, damit ich eine Erklärung für dein Skript finde? Du hast übrigens code-Tags vergessen.
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    In der bash-dokumentation nach "pattern" oder "substitution". Der erste link bei ixquick mit "bash pattern substitution" ist der richtige Treffer
     
  11. #9 saeckereier, 29.09.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Ah, sehr cool. Schon oft gesehen aber nie die passende Doku gefunden, ich danke dir!
     
Thema:

Mehrere Dateien kopieren und Zahl im Dateinamen beibehalten

Die Seite wird geladen...

Mehrere Dateien kopieren und Zahl im Dateinamen beibehalten - Ähnliche Themen

  1. Unterschiedlichen Text in mehrere Dateien finden und löschen / ersetzen

    Unterschiedlichen Text in mehrere Dateien finden und löschen / ersetzen: Moin erstmal, ich suche nach einer Möglichkeit, in mehreren unterschiedlichen Dateien Text mit folgendem Muster zu suchen und zu löschen oder...
  2. Mehrere Textdateien in STDOUT kopieren

    Mehrere Textdateien in STDOUT kopieren: Hallo zusammen, ich suche eine Möglichkeit, wie ich alle Dateien aus einem Verzeichnis (Textdateien) In die STDOUT kopieren kann bzw....
  3. Bash enscript mit mehreren Ordnern und Dateien

    Bash enscript mit mehreren Ordnern und Dateien: Hallo, Ich habe eine Ordner mit Unterordner in dem sich je mehrere verschiedenbenannte .java-Dateien befinden. Der Code: enscript -2rG...
  4. Mehrere Dateien umwandel?

    Mehrere Dateien umwandel?: Hallo Leute, ich habe mir ein kleines script geschrieben, welches mir eine vcf-datei in ein datenbank-format automatisch umwandelt. Jetzt...
  5. BASH/AWK: Text aus mehreren Dateien in eine .txt verschieben

    BASH/AWK: Text aus mehreren Dateien in eine .txt verschieben: Hallo zusammen, habe eine neues Problem. Ich habe mehrere .txt Dateien die jeweils eine Zahl pro Zeile enthalten. Momentan sind es pro Datei 21...