brauch hilfe bei einem script

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Barashnukor, 09.06.2008.

  1. #1 Barashnukor, 09.06.2008
    Barashnukor

    Barashnukor Grünschnabel

    Dabei seit:
    09.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo!

    Ich bin leider ganz neu auf der unix seite unterwegs, und braeuchte jetzt mal kurz eure hilfe bei einem fuer euch sicher leichtem script.

    und zwar ist die ausgangssituation so, dass ich einen ordner habe. in diesem ordner befinden sich mehrere datein, die im mittleren teil ihres namens einen immer gleich bleibenten namensteil haben. und diesen muss ich umbenennen.

    also z.b. xxx789s1fff.txt
    und fff789s1zzz.txt

    und ich muss aus dem 789s1 teil jetzt 33333 machen, und das bei allen datein in dem ordner. und dazu braeucht ich jetzt eure hilfe.

    also dass ich mit find beginnen muss, dass war mal meine erste ueberlegung, aber danach klatscht es mich irgendwie im kopf auf, wie es weiter gehen koennte.

    vielen dank im vorraus!

    mfg
     
  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. #2 L0s3r, 09.06.2008
    Zuletzt bearbeitet: 09.06.2008
    L0s3r

    L0s3r Tripel-As

    Dabei seit:
    22.09.2007
    Beiträge:
    216
    Zustimmungen:
    0
    Ort:
    MV
    Wenn es alle Dateien in einem Ordner betrifft einfach
    Code:
    sed 's/789s1/33333/g' /Pfad/zum/Ordner/*
    Wenn du mit find anfangen musst hilft dir die Option -exec Kommando weiter.

    grEetZ
     
  4. #3 Barashnukor, 09.06.2008
    Barashnukor

    Barashnukor Grünschnabel

    Dabei seit:
    09.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    es sind nicht alle, leider nur einige. also so 10%
     
  5. L0s3r

    L0s3r Tripel-As

    Dabei seit:
    22.09.2007
    Beiträge:
    216
    Zustimmungen:
    0
    Ort:
    MV
    Wie gesagt, dann übergibst du das Kommando mit find und exec.
     
  6. #5 Barashnukor, 09.06.2008
    Barashnukor

    Barashnukor Grünschnabel

    Dabei seit:
    09.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    wie gesagt, ich bin kompletter anfaenger, wenn du mir das vl etwas genauer sagen koenntest wie das gehen sollte, waere ich dir sehr dankbar!
     
  7. #6 L0s3r, 09.06.2008
    Zuletzt bearbeitet: 09.06.2008
    L0s3r

    L0s3r Tripel-As

    Dabei seit:
    22.09.2007
    Beiträge:
    216
    Zustimmungen:
    0
    Ort:
    MV
    ...
     
  8. #7 Barashnukor, 09.06.2008
    Barashnukor

    Barashnukor Grünschnabel

    Dabei seit:
    09.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    hmm.. anscheinend liegt der fehler bei mir, hab mich wohl nicht gut genug artikuliert :D

    also, das script brauch ich nur jetzt damit ich mich nicht durch 10 000 files durchakern muss.

    also ich dachte mir ich wechsle einfach in das verzeichnis und mach dann mal ein:

    find *807*

    dann sollte ich ja mal alle datein erhalten die umbenannt werden sollten. wenn ich dein comando ausfuehre, dann schmeisst es mich das erste mal bei dem sed befehl, da erkennt er das -i anscheinend nicht.

    sed: not a recognized flag: i war die antwort des systems.

    wenn ich das -i weglasse, dann wird der befehl zwar ausgefuehrt, aber er aendert genau 0.

    was bei mir im kopf irgendwie probleme ausloest, ist die tatsache, dass die dateinamen ja so sind, dass in der mitte was geaendert wird, und er den rest gleich behalten soll. aber irgendwie muss das ja gehen.
     
  9. L0s3r

    L0s3r Tripel-As

    Dabei seit:
    22.09.2007
    Beiträge:
    216
    Zustimmungen:
    0
    Ort:
    MV
    *hust* Du willst ja Dateinamen ändern und nicht den Inhalt von Dateien :D
    Code:
    for i in *789s1*; 
    do mv $i $(echo $i | sed 's/789s1/33333/'); 
    done;
     
  10. #9 Wolfgang, 09.06.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Von welcher Shelll bzw. OS reden wir?

    Hier geht es nicht um den Inhalt der Dateien, sondern den Namen. Insofern ist dein Vorschlag wenig hilfreich.
    Wenn wir von der bash reden, Schnellschuß ungetestet:
    Code:
    find /path/to/files -type f -name "*789s1*"|while read file; do echo $file ${file/789s1/33333}; done  
    echo halt durch mv ersetzen, wenn alles richtig funktioniert.

    Gruß Wolfgang
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. #10 Barashnukor, 09.06.2008
    Barashnukor

    Barashnukor Grünschnabel

    Dabei seit:
    09.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    genau das wars, was ich wollte!

    super mega thx!

    mfg
     
  13. L0s3r

    L0s3r Tripel-As

    Dabei seit:
    22.09.2007
    Beiträge:
    216
    Zustimmungen:
    0
    Ort:
    MV
    Ist mir dann auch aufgefallen und hab mich ja korrigert. Hatte noch keinen Kaffee :D
    Aber mit der for Schleife geht das auch und ist nicht ganz so viel Tipperei.
     
Thema:

brauch hilfe bei einem script

Die Seite wird geladen...

brauch hilfe bei einem script - Ähnliche Themen

  1. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  2. Anfänger braucht Hilfe bei DVB-S Installation

    Anfänger braucht Hilfe bei DVB-S Installation: Hallo, ich habe ein Problem. Ich habe openSuse 13.2 frisch installiert. Jetzt soll ein usb-TV-Modul TEVII s660 funktionieren. Ich kann bereits...
  3. Hilfe bei Interpretation des RAM-Speicherverbrauchs

    Hilfe bei Interpretation des RAM-Speicherverbrauchs: Hallo, kann jemand erklären, wie es auf einem Linux-Rechner zu dieser RAM-Ausgabe kommt? Ich meine, es soll ja eigentlich fast der ganze...
  4. Brauche Hilfe bei Lösunge einer Aufgabe

    Brauche Hilfe bei Lösunge einer Aufgabe: In der Dateil /etc/passwd sind zeilenweise alle User aufgelistet. Der Name ist dabei vom Zeilenanfang bis zum ersten Doppelpunkt. Erstellen Sie...
  5. Brauche hilfe bei einen Shell Script "-eq Parameter"

    Brauche hilfe bei einen Shell Script "-eq Parameter": Hallo miteinander, bin Neuling in shell Programmierung und brauche etwas Hilfe: und zwar möchte ich einige Zeilen aus einer Datei "user.db"...