Datei namex.txt in ordner namex verschieben

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von Lisa2, 13.10.2014.

  1. #1 Lisa2, 13.10.2014
    Zuletzt bearbeitet: 13.10.2014
    Lisa2

    Lisa2 Grünschnabel

    Dabei seit:
    13.10.2014
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo Leute,

    ich bräuchte ein paar Tipps und Anregungen wie ich in einem Verzeichnis, welches gerade so aussieht

    n1.txt (Datei)
    n2.txt (Datei)
    n3.txt (Datei)
    n1 (Ordner)
    n2 (Ordner)
    n3 (Ordner)

    es hinbekomme, dass die Dateien in ihre entsprechenden Ordner verschoben werden (also n1.txt --> n1, n2.txt --> n2, n3.txt --> n3). Ich weiß natürlich nicht, wie die Dateien bzw. Ordner heißen, es muss also vor dem mv geschaut werden, ob es überhaupt Übereinstimmungen gibt.

    Vielen Dank schon jetzt für Eure Hilfe.

    Schöne Grüße
    Lisa2
     
  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. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    find findet die Dateien
    mv bewegt sie
    mkdir würde die UVZ anlegen
    basename liefert zum Dateinamen mit Endung das Ziel-Verzeichnis (geht auch über bashinternals regex, für den Anfang so aber einfacher)
    Schleife drumrum, fertig.
     
  4. Lisa2

    Lisa2 Grünschnabel

    Dabei seit:
    13.10.2014
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo marce,

    vielen Dank für die Antwort.

    Ich habe die entsprechenden UVZ zu den Dateien schon angelegt. Ich habe also Datei1.txt und Ordner Datei1. Ich brauche jetzt noch einen Befehl, der bei jeder Übereinstimmung die Dateien in die jeweiligen UVZe verschiebt, also Datei1.txt in das UVZ Datei1 - Datei2.txt nach Datei2. Ich kenne aber die Namen der Dateien und Ordner nicht.

    Schöne Grüße
    Lisa2
     
  5. #4 tgruene, 13.10.2014
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Schau doch mal, ob Dir der Befehl
    Code:
     basename n1.txt .txt
    da nicht weiterhilft - darauf wollte marce u.a. hinaus.
     
  6. #5 schwedenmann, 13.10.2014
    schwedenmann

    schwedenmann Foren Gott

    Dabei seit:
    18.11.2003
    Beiträge:
    2.635
    Zustimmungen:
    2
    Ort:
    Wegberg
  7. #6 bitmuncher, 13.10.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Wenn man es kryptisch mag. ;)

    Code:
    perl -e '@files = glob("./*"); foreach $f (@files) { if($f =~ /^(.*)\.txt/) { $cmd = "mv ".$f." ".$1; print $cmd."\n"; $out = `$cmd`; print $out if $out; } }'
    
    Erklärung:
    @files = glob("./*"); <- Inhalt des Ordners './' (also aktueller Ordner) in das Array @files einlesen.
    foreach $f (@files) { <- einmal durch das Array laufen, aktuelles Element landet in $f
    if($f =~ /^(.*)\.txt/) { <- prüfen ob das aktuelle Element dem Schema *.txt entspricht und den Teil vor dem .txt in $1 ablegen
    $cmd = "mv ".$f." ".$1; <- Befehl zusammenbauen (mv foobar.txt foobar)
    print $cmd."\n"; <- Befehl anzeigen (kann man natürlich auch weglassen
    $out = `$cmd`; <- Befehl ausführen und Output in $out für eventuelle weitere Verarbeitung ablegen (Backticks beachten!)
    print $out if $out; <- Output ausgeben, falls es welchen gab

    Sicherlich gibt es einfachere Wege wie mmv (Multi-MoVe), aber ich denke an diesem Beispiel wird gleich auch klar, was ein Skript für diese Aufgabe tun muss. (Für den Fall, dass man sowas häufiger mal braucht.)
     
  8. Anzeige

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

Datei namex.txt in ordner namex verschieben

Die Seite wird geladen...

Datei namex.txt in ordner namex verschieben - Ähnliche Themen

  1. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...
  2. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  3. Dateiinhalte vergleichen - Neue Sätze dann ausgeben

    Dateiinhalte vergleichen - Neue Sätze dann ausgeben: Liebe Forumsmitglieder, ich benöte mal wieder Eure Hilfe: Ich möchte 2 Dateien vergleichen. Datei-1 hat z.B. 100 Datensätze mit mehreren Feldern...
  4. Dateien selektieren und zählen

    Dateien selektieren und zählen: Hallo, das ist mein erster Beitrag, bitte entschuldigt, falls nicht alles richtig geschrieben ist. Ich muss meine erste Hausaufgabe als...
  5. Timestamp an Inhalt einer Textdatei anfügen

    Timestamp an Inhalt einer Textdatei anfügen: Hallo, ich als neuer, unerfahrener Nutzer von Linux und der bash hätte folgende Frage. Und zwar würde ich gerne mit einem command den Zeitstempel...