Re: Dateinamen kürzen

2006-08-18 Diskussionsfäden Michelle Konzack
Am 2006-06-29 23:13:15, schrieb Frank Terbeck: for file in *.tar.gz.done ; do mv -i $file ${file%.done} ; done Uff... - Das verändert die ctime und mtime! Wie währe es mit: find -type f -name *.done -exec rename s/\.done// {}';' Greetings Michelle Konzack Systemadministrator

Re: Dateinamen kürzen

2006-08-18 Diskussionsfäden Jörg Sommer
Hallo Michelle, Michelle Konzack [EMAIL PROTECTED] wrote: Am 2006-06-29 23:13:15, schrieb Frank Terbeck: for file in *.tar.gz.done ; do mv -i $file ${file%.done} ; done Uff... - Das verändert die ctime und mtime! Nein. Die mtime wird von mv nicht angefasst -- die Datei wird doch nicht

Re: Dateinamen kürzen

2006-07-01 Diskussionsfäden Frank Terbeck
Andreas Pakulat [EMAIL PROTECTED]: On 30.06.06 16:29:46, Frank Terbeck wrote: Andreas Pakulat [EMAIL PROTECTED]: ls | grep done$ | while read f... Das ist ganz einfach nicht nötig. Unter anderem sollte man sich sicher sein, das ls nicht als Alias expandiert und dann Optionen wie

Re: Dateinamen kürzen

2006-06-30 Diskussionsfäden Michael Dominok
Am Donnerstag, den 29.06.2006, 23:47 +0200 schrieb Robert Michel: Mag sein, aber es ist etwas was ich benutzen konnte ohne nachzuschlagen... Erhöht außerdem die Lesbarkeit für Leute die - wie wohl der OP - nicht bis zu den Ellenbogen in den Gedärmen der bash stecken.

Re: Dateinamen kürzen

2006-06-30 Diskussionsfäden kai-martin knaak
Danijel Tasov wrote: file=was.done echo ${file%.done} Ah ja. Offensichtlich funktioniert dieser Trick nur mit Variablen. Danke. ---(kaimartin)--- -- Kai-Martin Knaak http://lilalaser.de/blog -- Haeufig gestellte Fragen und Antworten (FAQ):

Re: Dateinamen kürzen

2006-06-30 Diskussionsfäden Andreas Pakulat
On 30.06.06 00:39:07, Danijel Tasov wrote: Andreas Pakulat wrote: Bei ls *.done | while wird die Argumentliste genauso zu lang. Wenn, dann muss man da find benutzen. Stimmt. Ausserdem interpretiert read die Eingabe, hoert ein Dateiname zum beispiel mit einem backslash auf, empfiehlt es

Re: Dateinamen kürzen

2006-06-30 Diskussionsfäden Andreas Pakulat
On 30.06.06 01:15:54, Frank Terbeck wrote: Andreas Pakulat [EMAIL PROTECTED]: [...] Noch besser als for i in *.done oder for i in $(ls *.done) ist ls *.done | while read f ; do ... ; done gerade wenns sehr viele Dateien sind, denn dann ist die Argumentliste zu lang und man landet

Re: Dateinamen kürzen

2006-06-30 Diskussionsfäden Frank Terbeck
Andreas Pakulat [EMAIL PROTECTED]: On 30.06.06 01:15:54, Frank Terbeck wrote: Andreas Pakulat [EMAIL PROTECTED]: [...] Noch besser als for i in *.done oder for i in $(ls *.done) ist ls *.done | while read f ; do ... ; done gerade wenns sehr viele Dateien sind, denn dann ist

Re: Dateinamen kürzen

2006-06-30 Diskussionsfäden Andreas Pakulat
On 30.06.06 16:29:46, Frank Terbeck wrote: Andreas Pakulat [EMAIL PROTECTED]: On 30.06.06 01:15:54, Frank Terbeck wrote: Andreas Pakulat [EMAIL PROTECTED]: [...] Noch besser als for i in *.done oder for i in $(ls *.done) ist ls *.done | while read f ; do ... ; done

Dateinamen kürzen

2006-06-29 Diskussionsfäden Dejan Milosavljevic
Hallo zusammen, kann jemand einem der Kunst des Skript-Schreibens nicht sooo kundigen einen Tip geben, ich möchte Dateinamen mit einer bestimmten Endung um eben diese Endung kürzen. Also z.B.: Ich habe in einem Verzeichnis viele Dateien, die nach folgendem Schema benannt sind: *.tar.gz.done

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden wolfgang friedl
Dejan Milosavljevic wrote: Hallo zusammen, kann jemand einem der Kunst des Skript-Schreibens nicht sooo kundigen einen Tip geben, ich möchte Dateinamen mit einer bestimmten Endung um eben diese Endung kürzen. Also z.B.: Ich habe in einem Verzeichnis viele Dateien, die nach folgendem Schema

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Dejan Milosavljevic [EMAIL PROTECTED]: kann jemand einem der Kunst des Skript-Schreibens nicht sooo kundigen einen Tip geben, ich möchte Dateinamen mit einer bestimmten Endung um eben diese Endung kürzen. Also z.B.: Ich habe in einem Verzeichnis viele Dateien, die nach folgendem Schema

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Evgeni Golov
On Thu, 29 Jun 2006 23:05:01 +0200 wolfgang friedl [EMAIL PROTECTED] wrote: Dejan Milosavljevic wrote: Hallo zusammen, kann jemand einem der Kunst des Skript-Schreibens nicht sooo kundigen einen Tip geben, ich möchte Dateinamen mit einer bestimmten Endung um eben diese Endung kürzen.

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden kai-martin knaak
Dejan Milosavljevic wrote: und würde gerne in den Dateinamen das .done abschneiden, so daß am Ende nur noch Dateinamen mit dem Schema *.tar.gz übrigbleiben. man basename Im speziellen Fall: for i in *.done ; do mv $i `basename $i .done` ; done Statt den Semicolons kannst Du das

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Dejan Milosavljevic
kai-martin knaak schrieb: Dejan Milosavljevic wrote: und wrde gerne in den Dateinamen das .done abschneiden, so da am Ende nur noch Dateinamen mit dem Schema *.tar.gz brigbleiben. man basename Im speziellen Fall: for i in *.done ; do mv $i `basename $i

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
kai-martin knaak [EMAIL PROTECTED]: Dejan Milosavljevic wrote: und würde gerne in den Dateinamen das .done abschneiden, so daß am Ende nur noch Dateinamen mit dem Schema *.tar.gz übrigbleiben. man basename Wozu einen externes Programm, wenn das mit shellinternen Mitteln problemlos zu

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Robert Michel
$VerkürzterDateiname Wie kann man den Dateinamen kürzen? Sed! echo done.1.done | sed s/done// würde .1. liefern - es könne ein done im Dateinamen stecken. Will man nur das .done am ende löschen, so braucht man die Regular Expression $ die das Zeilenende markiert. .done$ ist also ein Muster, welches nur am Ende

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Dejan Milosavljevic
Frank Terbeck schrieb: kai-martin knaak [EMAIL PROTECTED]: Dejan Milosavljevic wrote: und wrde gerne in den Dateinamen das .done abschneiden, so da am Ende nur noch Dateinamen mit dem Schema *.tar.gz brigbleiben. man basename Wozu einen

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Dejan Milosavljevic
.done usw jetzt will man die Files umbennen, das geht mit mv mv $i $VerkürzterDateiname Wie kann man den Dateinamen kürzen? Sed! echo done.1.done | sed s/done// würde .1. liefern - es könne ein done im Dateinamen stecken. Will man nur das .done am ende löschen, so braucht man die Regular

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Robert Michel [EMAIL PROTECTED]: On Thu, 29 Jun 2006, Dejan Milosavljevic wrote: Hallo zusammen, kann jemand einem der Kunst des Skript-Schreibens nicht sooo kundigen einen Tip geben, http://www.tldp.org/LDP/abs/html/ *.tar.gz.done - *.tar.gz übrigbleiben. Any idea?

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Evgeni Golov
On Thu, 29 Jun 2006 23:31:23 +0200 Dejan Milosavljevic [EMAIL PROTECTED] wrote: Vielen Dank, auch den anderen mit den schnellen Antworten. Die Lösung mit rename ist auch recht schlank anwendbar, habe aber in der Kürze der zur Verfügung stehenden Zeit keinen Nerv mich mit Perl-Regexp

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Dejan Milosavljevic [EMAIL PROTECTED]: Wozu einen externes Programm, wenn das mit shellinternen Mitteln problemlos zu lösen ist? Und? Spann uns nicht auf die Folter. ;-) Wie sieht dein Vorschlag aus? Habe die Antwort schon vorher in den Thread geschickt. Siehe auch: [EMAIL PROTECTED]

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Evgeni Golov
On Thu, 29 Jun 2006 23:39:02 +0200 Evgeni Golov [EMAIL PROTECTED] wrote: On Thu, 29 Jun 2006 23:31:23 +0200 Dejan Milosavljevic [EMAIL PROTECTED] wrote: Vielen Dank, auch den anderen mit den schnellen Antworten. Die Lösung mit rename ist auch recht schlank anwendbar, habe aber in der

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Dejan Milosavljevic
Frank Terbeck schrieb: Dejan Milosavljevic [EMAIL PROTECTED]: kann jemand einem der Kunst des Skript-Schreibens nicht sooo kundigen einen Tip geben, ich mchte Dateinamen mit einer bestimmten Endung um eben diese Endung krzen. Also z.B.: Ich habe in einem Verzeichnis viele

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Robert Michel
Salve Frank! On Thu, 29 Jun 2006, Frank Terbeck wrote: Ja. Wozu ls benutzen um an eine Dateiliste zu kommen? Das ist ja wild. Einfach 'for i in *.done' reicht. Das habe ich eben auch gesehen, ich hätte gedacht das 'for i in file' die Datei file genommen hätte... Viele Wege führen nach rom,

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Michael Müller
Dejan Milosavljevic schrieb: Hallo Michel, ich habe hier einen halben Tag lang mit awk rumprobiert, aber kam auf keine grünen Zweig. Stell Dir vor: Ich habs nicht hinbekommen! Gruß Dejan Hallo Dejan, auch das hättest du recht einfach haben können ... for i in *done do echo $i | awk

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Dejan Milosavljevic [EMAIL PROTECTED]: Frank Terbeck schrieb: for file in *.tar.gz.done ; do mv -i $file ${file%.done} ; done Sorry, ich verstehe es nicht, auch wenns ein Einzeiler ist: Mein Auge bleibt immer am % in ${file%.done}hängen - was hat es damit auf sich? Ist ja nicht schlimm.

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Andreas Pakulat
On 29.06.06 23:47:22, Robert Michel wrote: Salve Frank! On Thu, 29 Jun 2006, Frank Terbeck wrote: Ja. Wozu ls benutzen um an eine Dateiliste zu kommen? Das ist ja wild. Einfach 'for i in *.done' reicht. Das habe ich eben auch gesehen, ich hätte gedacht das 'for i in file' die Datei

BTW everything is a file , but.... wie hätte man es mit vim machen k önnen? Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Robert Michel
Salve Michael! auch das hättest du recht einfach haben können ... for i in *done do echo $i | awk -F.done '{print $1}' done Das ändert die Dateinamen? Ist aber mit Kanonen auf Spatzen schießen ;-) also ich habe ein verzeichnis Test vim Test :%s/.done$// E21: Kann keine Änderungen

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Frank Terbeck [EMAIL PROTECTED]: for file in *.tar.gz.done ; do mv -i $file ${file%.done} ; done Ich hasse es mich selber verbessern zu müssen, aber als altem zshler sind einem Dateinamen mit Leerzeichen ziemlich egal. Die meisten anderen Shells müssen darauf achten. Also besser: for file in

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Dejan Milosavljevic
Frank Terbeck schrieb: Dejan Milosavljevic [EMAIL PROTECTED]: Frank Terbeck schrieb: for file in *.tar.gz.done ; do mv -i $file ${file%.done} ; done Sorry, ich verstehe es nicht, auch wenns ein Einzeiler ist: Mein Auge bleibt immer am % in

Re: BTW everything is a file, but .... wie hätte man es mit vim mac hen können? Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Michael Müller
Robert Michel schrieb: Salve Michael! auch das hättest du recht einfach haben können ... for i in *done do echo $i | awk -F.done '{print $1}' done Das ändert die Dateinamen? Nee sorry, war nicht zu Ende gebracht, es zeigt nur die Namen ohne die Erweiterung. Wollte ja auch nur

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Dejan Milosavljevic [EMAIL PROTECTED]: Frank Terbeck schrieb: ${parameter%word} Also bei mir funktionierts nicht. Es kommt folgende Fehlermeldung (benutze übrigens Sarge): /www:~/hilf# for file in *.tar.gz.done ; do mv -i $file $(file%.done) ; done -bash: file%.done: command not found

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Dejan Milosavljevic
Frank Terbeck schrieb: Dejan Milosavljevic [EMAIL PROTECTED]: Frank Terbeck schrieb: ${parameter%word} Also bei mir funktionierts nicht. Es kommt folgende Fehlermeldung (benutze brigens Sarge): /www:~/hilf# for file in *.tar.gz.done ; do mv -i

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Danijel Tasov
Andreas Pakulat wrote: Noch besser als for i in *.done oder for i in $(ls *.done) ist ls *.done | while read f ; do ... ; done gerade wenns sehr viele Dateien sind, denn dann ist die Argumentliste zu lang und man landet auf der Nase... $(ls *.done) faellt ausserdem auch auf die Nase, wenn

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden kai-martin knaak
Frank Terbeck wrote: Wozu einen externes Programm, wenn das mit shellinternen Mitteln problemlos zu lösen ist? Habe basename vor Jahr und Tag aus einem Unix Buch gelernt. ${file%.done} Das gibt bei mir nur eine Fehlermeldung: $ touch was.done; echo ${was.done%.done}

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Danijel Tasov
kai-martin knaak wrote: Das gibt bei mir nur eine Fehlermeldung: $ touch was.done; echo ${was.done%.done} bash: ${was.done%.done}: bad substitution Ja. file=was.done echo ${file%.done} -DaTa -- If you consistently take an

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Andreas Pakulat [EMAIL PROTECTED]: [...] Noch besser als for i in *.done oder for i in $(ls *.done) ist ls *.done | while read f ; do ... ; done gerade wenns sehr viele Dateien sind, denn dann ist die Argumentliste zu lang und man landet auf der Nase... Also, an dieser Stelle kann das

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
Danijel Tasov [EMAIL PROTECTED]: [...] Hinzukommt, dass ls | while read auch nicht geht, wenn der Dateiname mit Leerzeichen anfaengt, das umgeht man mit ls | while IFS= read -r. Der Haken der Jetzt noch uebrig bleibt, ist, wenn Newlines in einem Dateinamen vorkommen. Da fallen mir nur extrem

Re: Dateinamen kürzen

2006-06-29 Diskussionsfäden Frank Terbeck
kai-martin knaak [EMAIL PROTECTED]: Frank Terbeck wrote: ${file%.done} Das gibt bei mir nur eine Fehlermeldung: $ touch was.done; echo ${was.done%.done} bash: ${was.done%.done}: bad substitution Offensichtlich habe ich da was flashc verstanden :-| Ja. :) Den Grund