Shell Script benötigt

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
crusher
Beiträge: 51
Registriert: 22.03.2004 22:50:06

Shell Script benötigt

Beitrag von crusher » 15.11.2005 11:28:52

Hallo an alle Linux Coder dieser Welt,
Hello to all linux coder in the whole wide world.

Ich brauche euere Hilfe.
I need your help.

Ich habe in meinen /home/test Verzeichniss über 1.000 Dateien ohne Endung liegen.
I hvae in my /home/test directory over 1.000 files collected.

Diese Dateien mit 30 Unterordnern sollen eine einheitliche Endung bekommen,
nämlich .txt.
This datas are list in 30 subcathegories and shoul become .txt files.

Wie sollte dieses script aussehen? Weil mv kann nur einzelen Dateien in einen Ornder machen
soweit das mein Wissen hergibt.
May you can say me how the script should look like? I only know that
"mv" can change one file in the same folder.


Vielen Dank im Vorraus.
Thanks for your help.

Viele Grüße crusher-web
Kind regards crusher-web

Fuffi
Beiträge: 92
Registriert: 28.04.2002 09:38:24
Wohnort: Wien

Beitrag von Fuffi » 15.11.2005 12:03:25

Hi,

ich würds auf die schnelle so machen:

Code: Alles auswählen

#!/bin/bash
for file in $(find -type f)
do
     mv $file $file.txt;
done;
ist zwar nicht ganz sauber, weil er "." auch moven will, aber das schlägt eh fehl.

Hoffe habe dein Problem richtig verstanden, dass du alle files umbenennen willst und nicht nur die ohne endung

Schöne Grüsse

Edit: komm grad drauf dass er ja logischerweise die Unterverzeichnisse auch umbenennt, das ist nicht Sinn und Zweck

Edit2: ok umgeändert und oben genanntes problem ist behoben

crusher
Beiträge: 51
Registriert: 22.03.2004 22:50:06

Beitrag von crusher » 16.11.2005 12:44:55

Vielen dank, hat wunderbar funktioniert.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 16.11.2005 14:32:37

Andere Möglichkeit:

Code: Alles auswählen

find . -type f | xargs rename "s/$/.txt/"

Benutzeravatar
riankrimsteel
Beiträge: 131
Registriert: 23.03.2003 19:06:06
Wohnort: Göttingen
Kontaktdaten:

Beitrag von riankrimsteel » 16.11.2005 14:56:19

Hi,

oder Variante drei

Code: Alles auswählen

find /pfad/zu/den/dateien/ -type f -exec mv {} {}.txt \;
Gruss
Dennis
For every problem, there is a solution that's simple, easy, and wrong.

Antworten