Archiv verlassen und diese Seite im Standarddesign anzeigen : Im Terminal alle Datein mit Ziffer im Namen in anderes Directory kopieren
flügelnuss
08.01.15, 11:45
Hi Leute,
Ich bin ein blutiger Anfänger was Linux und das Terminal angeht. Ich möchte mittels cp alle Datein welche eine Ziffer am Ende des Namens haben in ein anderes Directory kopieren und weiß dass das mit grep und einem Pipeline Befehl funktionieren muss, allerdings weiß ich nicht wie ich die Namensenden nach Ziffern filtern kann. Ich wüsste wie ich nach bestimmten Ziffern suche aber nicht danach ob überhaupt eine Ziffer vorhanden ist.
Ich hoffe ihr könnt mir helfen :p
Cheers
DrunkenFreak
08.01.15, 12:00
Mit Regexp sollte das auch gehen. In etwa so:
cp $quelle/*[0-9] $ziel
bzw. denke mal hier drüber nach:
touch file1 file2 f1lex f4ll0ut
ls -la *[0-9]*
ls -la *[0-9]
"Knackpunkt" dürfte sein, was er denn unter "Ende des Dateinamens" versteht - mit Extension oder ohne, gibt's zwingend eine Extension oder nicht, ...
... und dann ggf. noch, um wie viele Dateien es sich denn handelt, sprich ob man der Bash-Expansion das noch anvertrauen darf.
Moin, Du Nuss,
es braucht für ne wasserdichte Lösung genauere Angaben über den Datenstrom/Input.
Aber wahrscheinlich willst Du nur Deine mp3-Sammlung irgendwie neu sortieren ;-). Performanceprobleme gibts da noch nicht. Aber 1.000.000 bash-Instanzen zu starten,kann flott gehen ;-)
Egal-
Schwieriger ist, was Du mit "am Ende des Dateinamens" meinst.... -ganz wichtig, wie oben schon erwähnt wurde.
Probiere es einfach aus, sichere Die Daten ersma weg und dann gucken, ob das Ergebnis passt, korrigieren, nochmal schaun ;-). Wenn alles gut, das Script scharf stellen.
tfr
Hallo,
würde da find empfehlen, so findest du beispielsweise alle Dateien mit einer Zahl im Namen:
find . -type f -iname "*[0-9]*"
.. und so würdest du die Funde nach /tmp kopieren:
find . -type f -iname "*[0-9]*" -exec cp {} /tmp/ \;
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.