Datei namex.txt in ordner namex verschieben

Diskutiere Datei namex.txt in ordner namex verschieben im Programmieren allgemein Forum im Bereich Programmieren unter Linux/Unix; 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)...

  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.112
    Zustimmungen:
    9
    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.664
    Zustimmungen:
    3
    Ort:
    Wegberg
  7. #6 bitmuncher, 13.10.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.172
    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. Fragen zu stty, quotes und Datein (flush)

    Fragen zu stty, quotes und Datein (flush): Hi, ich schreibe seit ein paar Tagen ein Skript, dass über die Serielle Schnittstelle kommuniziert. Leider gibt es noch zwei Probleme, die ich...
  2. NFS durch Symlink auf lokales Dateisystem entlasten

    NFS durch Symlink auf lokales Dateisystem entlasten: Hallo zusammen, ich bin neu hier und auch nicht sicher ob ich mich hier im richtigen Forum befinde... Darum schon mal sorry wenn es eigentlich...
  3. Linux "vergisst" Dateisystem?

    Linux "vergisst" Dateisystem?: Hallo zusammen! Aufgrund des von mir hier beschriebenen Problems habe ich nun die halbe Nacht "durchgearbeitet", da ein komplett neues Konzept...
  4. 2 Spalten in EINER Textdatei GETRENNT addieren

    2 Spalten in EINER Textdatei GETRENNT addieren: Hey, bin ein ziemlicher Neuling in Sachen programmieren. Nun steh ich vor dem Problem, dass ich 2 Zahlenspalten inner Textdatei (vim) getrennt...
  5. User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen

    User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen: Hallo liebe Helfer, welche Einstellungen muss ich in der smb.conf bzw. unter Linux vornehmen, damit User vorhandene Dateien öffnen und speichern...