umkopieren von dateien Rel00001.x in Rel00001 Verz.

Post Reply
Message
Author
sh

umkopieren von dateien Rel00001.x in Rel00001 Verz.

#1 Post by sh »

mehrere Programmreleases (Namendlich Rel00001.x - Rel00030.x) möchte ich "aufräumen".
Auf unserem Server herrscht Chaos ... alle Releases sind in einem Verzeichnis so abgespeichert.

habe Dateien:

Rel00001.a
Rel00001.b
Rel00001.c
Rel00001.d
Rel00001.e
Rel00001.f
Rel00002.a
Rel00002.b
Rel00002.c
Rel00004.a
Rel00004.b
Rel00004.c
Rel00023.a
Rel00024.a
Rel00024.b
Rel00024.c


nun möchte ich z.Bsp.: für alle alle Rel0001.x einen Ordner Rel0001 anlegen und diese Dateien Rel0001.a - Rel0001.f da hineinverschieben.
Das selbe möchte ich natürlich für alle Rel0000.0 - Rel0024.2 so realisieren.


Danke

Jochen

Re: umkopieren von dateien Rel00001.x in Rel00001 Verz.

#2 Post by Jochen »

Da die Namen so schön einheitlich sind, ist das ja nun wirklich nicht schwer:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">#!/bin/bash

ls | sed 's/\..$//' | sort -u | while read REL ; do
mkdir $REL
mv $REL.? $REL
done

exit 0
</font><hr></pre></blockquote>Zugegebenermassen ist das jetzt ohne Test eingehackt, also erst mal mit SPieldaten testen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">!

sed trennt von allen Dateien den Punkt und den angehängten Buchstaben ab, so dass nur noch die Releases übrig bleiben. sort schmeisst die mehrfach auftretenden Releases raus, so dass jedes Release exakt ein Mal an die while-Schleife weitergegeben wird. Dort wird für jedes Release ein Verzeichnis erstellt und die dazugehörigen Dateuen in das Verzeichnis gemovet.

Alles klar?

Jochen

Post Reply