Hallo, da es absolut keinen Spass macht, hunderte von Dateien manuell zu konvertieren, habe ich mir ein kleines Shell-Script geschrieben, das im Prinzip auch seine Aufgabe erfuellt. Der Schoenheitsfehler ist nur, dass aus "Datei.doc" ein "Datei.doc.txt" wird, ich aber ein "Datei.txt" erhalten moechte. Hier noch das Script: ------------------------------------8<-------------------------------- ls *.doc | while read i; do antiword "$i" > "$i.txt" done ------------------------------------>8-------------------------------- Leerzeichen usw. brauche ich uebrigens nicht zu beruecksichtigen. Beste Gruesse, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 6. Dezember 2006 21:25 schrieb Heinz W. Pahlke:
Hallo,
da es absolut keinen Spass macht, hunderte von Dateien manuell zu konvertieren, habe ich mir ein kleines Shell-Script geschrieben, das im Prinzip auch seine Aufgabe erfuellt.
Der Schoenheitsfehler ist nur, dass aus "Datei.doc" ein "Datei.doc.txt" wird, ich aber ein "Datei.txt" erhalten moechte.
Hier noch das Script:
------------------------------------8<--------------------------------
ls *.doc | while read i; do antiword "$i" > "$i.txt" done
------------------------------------>8--------------------------------
Leerzeichen usw. brauche ich uebrigens nicht zu beruecksichtigen.
so auf die Schnelle: d=`dirname $i` b=`basename $i .doc` antiword "$i" > "$d/$b.txt" oder auch mmv "*.doc.txt" "#1.txt" Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Hallo, On 06-Dec-2006 Dr. Jürgen Vollmer wrote:
so auf die Schnelle:
d=`dirname $i` b=`basename $i .doc` antiword "$i" > "$d/$b.txt"
Was leider in / schreiben will :-( Aber das macht auch nichts, denn das
mmv "*.doc.txt" "#1.txt"
ist die schnellste Loesung. Ich brauche das so selten, dass ich nie an mmv denke. Vielen Dank, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 6. Dezember 2006 21:56 schrieb Heinz W. Pahlke:
Hallo,
On 06-Dec-2006 Dr. Jürgen Vollmer wrote:
so auf die Schnelle:
d=`dirname $i` b=`basename $i .doc` antiword "$i" > "$d/$b.txt"
Was leider in / schreiben will :-(
huch wieso das?
Aber das macht auch nichts, denn das
mmv "*.doc.txt" "#1.txt"
ist die schnellste Loesung. Ich brauche das so selten, dass ich nie an mmv denke.
Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Heinz W. Pahlke wrote:
[...]
Der Schoenheitsfehler ist nur, dass aus "Datei.doc" ein "Datei.doc.txt" wird, ich aber ein "Datei.txt" erhalten moechte.
Hier noch das Script:
------------------------------------8<--------------------------------
ls *.doc | while read i; do antiword "$i" > "$i.txt" done
------------------------------------>8--------------------------------
bash-Loesung: ... antiword "$i" > "${i/\.doc/.txt}" ... Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On 06-Dec-2006 Thomas Hertweck wrote:
bash-Loesung:
... antiword "$i" > "${i/\.doc/.txt}"
Ein paar Sekunden zu spaet, mmv war schon fertig :-) Kannst du mir noch verraten, unter welchem Stichwort ich in man bash suchen kann? Im Prinzip ist mir zwar klar, was die Zeile besagt, aber ich wuerde es gerne wirklich verstehen. Die naechste Anwendung kommt naemlich bestimmt. Vielen Dank, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Heinz W. Pahlke wrote:
On 06-Dec-2006 Thomas Hertweck wrote:
bash-Loesung:
... antiword "$i" > "${i/\.doc/.txt}"
Ein paar Sekunden zu spaet, mmv war schon fertig :-)
Kannst du mir noch verraten, unter welchem Stichwort ich in man bash suchen kann?
"man bash", Kapitel "Parameter Expansion", dort letzter Stichpunkt beginnend mit "${parameter/pattern/string}". Im Prinzip sollte man bei meiner Loesung noch ein "%" Zeichen beim pattern verwenden, damit es nur auf das Dateinamenende zutrifft. Du willst ja nicht eventuell vorkommende ".doc" inmitten einem Dateinamen wie "meine.doc.datei.doc" ersetzen ;-) Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mittwoch, 6. Dezember 2006 21:25 schrieb Heinz W. Pahlke:
da es absolut keinen Spass macht, hunderte von Dateien manuell zu konvertieren, habe ich mir ein kleines Shell-Script geschrieben, das im Prinzip auch seine Aufgabe erfuellt.
Der Schoenheitsfehler ist nur, dass aus "Datei.doc" ein "Datei.doc.txt" wird, ich aber ein "Datei.txt" erhalten moechte.
Nimm krename. Geht am komfortabelsten. -- Michael Herrmann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On 06-Dec-2006 Michael Herrmann wrote:
Nimm krename. Geht am komfortabelsten.
Ich befuerchte, am umstaendlichsten ;-)) Erst einmal muesste ich krename installieren. Und vom Namen her denke ich, dass es ein KDE-Programm ist. KDE benutze ich aber nicht, so dass es ziemlich ungepflegt ist. Wer weiss, was ich dann erst noch updaten oder installieren muesste. Einen schoenen Abend, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 6. Dezember 2006 21:50 schrieb Michael Herrmann: [ ... ]
Nimm krename. Geht am komfortabelsten.
Wenn ich die Aufgabenstellung richtig verstanden habe, soll aus "Datei.doc" "Datei.txt" werden. Dazu ist krename aber AFIK nicht in der Lage, denn es kann nur umbenennen aber nicht konvertieren? Gruß Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mittwoch, 6. Dezember 2006 22:13 schrieb Manfred Keller:
Nimm krename. Geht am komfortabelsten. Wenn ich die Aufgabenstellung richtig verstanden habe, soll aus "Datei.doc" "Datei.txt" werden. Dazu ist krename aber AFIK nicht in der Lage, denn es kann nur umbenennen aber nicht konvertieren?
Korrekt, aber er hat doch sein antiword-Skript ja schon durchlaufen lassen, so dass er lauter Datei.doc.txt Dateien bereits als Ergebnis hatte. Danach noch krename, und dann gehts. Na gut, über Shellscript gehts natürlich auch :-) Aber ich wollte halt möglichst wenig denken... hehe.. :-) -- Michael Herrmann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Heinz W. Pahlke schrieb:
Der Schoenheitsfehler ist nur, dass aus "Datei.doc" ein "Datei.doc.txt" wird, ich aber ein "Datei.txt" erhalten moechte.
Hier noch das Script:
------------------------------------8<--------------------------------
ls *.doc | while read i; do antiword "$i" > "$i.txt" done
------------------------------------>8--------------------------------
Leerzeichen usw. brauche ich uebrigens nicht zu beruecksichtigen.
man basename: Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. Daher: basename $i .doc entfernt das Suffix .doc Daher die Zeile verbessern antiword "$i" > "$a.txt" und vorher die Zeile einfügen: a=`basename "$i .doc"` Ist zwar ungetestet, müsste aber gehen. Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On 06-Dec-2006 Martin Ereth wrote:
basename $i .doc entfernt das Suffix .doc
Daher die Zeile verbessern antiword "$i" > "$a.txt"
und vorher die Zeile einfügen: a=`basename "$i .doc"`
Ist zwar ungetestet, müsste aber gehen.
Geht leider nicht :-( Jetzt heissen die Dateien "Datei.doc .doc.txt" Mit basename hatte ich auch schon herumprobiert, aber danach hatte ich aehnliche Effekte. Beste Gruesse, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Heinz W. Pahlke schrieb:
Hallo,
On 06-Dec-2006 Martin Ereth wrote:
basename $i .doc entfernt das Suffix .doc
Daher die Zeile verbessern antiword "$i" > "$a.txt"
und vorher die Zeile einfügen: a=`basename "$i .doc"`
Ist zwar ungetestet, müsste aber gehen.
Geht leider nicht :-(
Jetzt heissen die Dateien "Datei.doc .doc.txt"
Sorry, vertippt! a=`basename "$i" .doc` -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mittwoch, 6. Dezember 2006 21:58 schrieb Martin Ereth:
Heinz W. Pahlke schrieb: snip
------------------------------------8<--------------------------------
ls *.doc | while read i; do antiword "$i" > "$i.txt" done
------------------------------------>8--------------------------------
Leerzeichen usw. brauche ich uebrigens nicht zu beruecksichtigen.
man basename: Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. Noch ne Lösung
for datei in $(ls *.doc) do antiword ${datei} > $(basename ${datei} ".doc").txt # alternativ: # antiword ${datei} > ${datei%%.*}.txt done -- Mit freundlichen Grüßen Matthias Müller PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Am Mittwoch, 6. Dezember 2006 22:56 schrieb Matthias Müller:
Hallo,
Am Mittwoch, 6. Dezember 2006 21:58 schrieb Martin Ereth:
Heinz W. Pahlke schrieb:
snip
------------------------------------8<--------------------------------
ls *.doc | while read i; do antiword "$i" > "$i.txt" done
------------------------------------>8--------------------------------
Leerzeichen usw. brauche ich uebrigens nicht zu beruecksichtigen.
man basename: Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX.
Noch ne Lösung
for datei in $(ls *.doc) do antiword ${datei} > $(basename ${datei} ".doc").txt # alternativ: # antiword ${datei} > ${datei%%.*}.txt # Entschuldigung: # antiword ${datei} > ${datei%.*}.txt done
-- Mit freundlichen Grüßen Matthias Müller PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Hallo, Am Mit, 06 Dez 2006, Matthias Müller schrieb:
Noch ne Lösung
for datei in $(ls *.doc) ^^^^^^^^^^^ Wat soll dat dann???
Das *.doc muss die Shell doch eh schon fuer ls expandieren, wozu dann noch das ls? Und ausserdem handelt man sich damit Probleme mit u.a. Leerzeichen ein. Also laesst man die shell das gleich komplett allein machen: for datei in *.doc; do
do antiword ${datei} > $(basename ${datei} ".doc").txt # alternativ: # antiword ${datei} > ${datei%%.*}.txt done
Wenn man hier noch quotet stoeren auch keine Sonderzeichen[1] mehr. antiword "${datei}" > "$(basename "${datei}" '.doc').txt" # bzw.: antiword "${datei}" > "${datei%.doc}.txt" HTH, -dnh [1] nichtmal ", ' oder ein Zeilenumbruch: ( set -x; f="foo.doc' \"bar* baz.doc"; echo "$(basename "$f" .doc).txt"; ) ( set -x; f="foo.doc' \"bar* baz.doc"; echo "${f%.doc}.txt"; ) Man beachte, mit welchen Argumenten basename und echo aufgerufen werden. Bei `` statt $() gibt's evtl. mit * und ? beim basename Probleme, das habe ich jetzt nicht mehr getestet. -- Ginsberg's Theorem: (1) You can't win. (2) You can't break even. (3) You can't even quit the game. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Donnerstag, 7. Dezember 2006 05:04 schrieb David Haller:
Hallo,
Am Mit, 06 Dez 2006, Matthias Müller schrieb:
Noch ne Lösung
for datei in $(ls *.doc)
^^^^^^^^^^^ Wat soll dat dann??? Macht der Gewohnheit?!
snip -- Mit freundlichen Grüßen Matthias Müller PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Hallo, Am Fre, 08 Dez 2006, Matthias Müller schrieb:
Am Donnerstag, 7. Dezember 2006 05:04 schrieb David Haller:
Am Mit, 06 Dez 2006, Matthias Müller schrieb:
Noch ne Lösung
for datei in $(ls *.doc)
^^^^^^^^^^^ Wat soll dat dann??? Macht der Gewohnheit?!
Dann gewöhne dir das besser schleunigst ab...! -dnh -- Hey, what do you expect from a culture that *drives* on *parkways* and *parks* on *driveways*? --Gallagher -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo David, Am Samstag, 9. Dezember 2006 04:17 schrieb David Haller:
Hallo,
Am Fre, 08 Dez 2006, Matthias Müller schrieb:
Am Donnerstag, 7. Dezember 2006 05:04 schrieb David Haller:
Am Mit, 06 Dez 2006, Matthias Müller schrieb:
Noch ne Lösung
for datei in $(ls *.doc)
^^^^^^^^^^^ Wat soll dat dann???
Macht der Gewohnheit?!
Dann gewöhne dir das besser schleunigst ab...! Warum? Bitte ausführliche, stichhaltige Begründung vom Profi für den Profi.
Ich programmiere seit mittlerweile 12 Jahren hauptsächlich ksh-Skripte und seit ca 8 Jahren zusätzlich Tck/Tk-Scripte in der DV einer großen Firma. Ich hatte mit solchen Konstrukten noch _nie_ Probleme. bash-Skripte sind gelegentlich dabei. Also bitte schön: eine stichhaltige Begründung warum das oa Konstrukt problematisch ist. Wobei MS-Office-Dokumente nicht zu den zu bearbeitenden Daten gehören.
-- Hey, what do you expect from a culture that *drives* on *parkways* and *parks* on *driveways*? --Gallagher
-- Mit freundlichen Grüßen Matthias Müller PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Am Samstag, 9. Dezember 2006 13:49 schrieb Matthias Müller: Hallo zusammen!
Bitte ausführliche, stichhaltige Begründung vom Profi für den Profi.
Die wird man Dir wohl schuldig bleiben! :-) Das einzige was man Dir hier vorwerfen kann ist, dass die Shell ohnehin das * expandiert. Demzufolge muss pro Datei ein ls unnötiger Weise ausgeführt werden. Naja und das erzeugen neuer Prozess ist halt kostspielig. Aber da erzähle ich Dir wahrscheinlich nichts neues. :-)
Ich hatte mit solchen Konstrukten noch _nie_ Probleme. bash-Skripte sind
Rein Ablauftechnisch solltest Du damit auch nicht in Probleme laufen. Zumindest sind es dann Probleme die Du auch mit der anderen Variante hättest wie z.B: das eine Datei während der Verarbeitung noch geschrieben oder vielleicht sogar gelöscht wird etc. Das sind aber generelle Probleme. Grüße Heinzi -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Matthias Müller schrieb:
Am Samstag, 9. Dezember 2006 04:17 schrieb David Haller:
Am Fre, 08 Dez 2006, Matthias Müller schrieb:
Am Donnerstag, 7. Dezember 2006 05:04 schrieb David Haller:
Am Mit, 06 Dez 2006, Matthias Müller schrieb:
Noch ne Lösung
for datei in $(ls *.doc) ^^^^^^^^^^^ Wat soll dat dann??? Macht der Gewohnheit?! Dann gewöhne dir das besser schleunigst ab...! Warum? Bitte ausführliche, stichhaltige Begründung vom Profi für den Profi.
Die Antwort vom David wird wohl ungefähr so lauten (Sorry, falls ich falsch liege): "Unnötige Subshell" die runden Klammern öffnen eine Subshell, die nur unnötig Ressourcen frißt. Warum sollte man dann die Subshell-Methode bevorzugen, wenn ein *.doc das gewünschte ohne Subshell (und ohne Ressourcen/Geschwindigkeitsverlust) erzeugt? Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Martin (stellvertretend auch für die anderen) Am Samstag, 9. Dezember 2006 16:53 schrieb Martin Ereth:
Am Samstag, 9. Dezember 2006 04:17 schrieb David Haller: snip
for datei in $(ls *.doc)
^^^^^^^^^^^ Wat soll dat dann??? snip Die Antwort vom David wird wohl ungefähr so lauten (Sorry, falls ich falsch
Matthias Müller schrieb: liege):
"Unnötige Subshell" Dachte ich mir, dass ihr darauf raus wollt. Kostet Resourcen, ist klar. Aber bei den heutigen Rechnern und sollte das nicht wirklich ein Problem sein ;-) (hoffe ich). Das Konstrukt hat aber, aus meiner Sicht, einen nicht zu verachtenden Vorteil. Ein Kollege, der nicht so ganz mit der Shellprogrammierung fit ist, meine Skripte aber warten oder erweitern muss, tut sich leichter, wenn er auf den ersten Blick sieht, was ich eigentlich will. Die Skripte, die ich schreibe sind teilweise ausgewachsene Anwendungsprogramme (zB Skripte zur Bearbeitung von CAD-Daten). Wenn ich Urlaub habe und ein Kollege muss Fehlerbehebung machen, weil ein Anwender gemeint hat er muss sich nicht an Konventionen halten, tut sich auch leichter wenn er sieht, hier wird ein Inhaltsverzeichnis ausgelesen und er deshalb prüfen muss ob der Fehler vielleicht in der Dateibenennung zu suchen ist.
Es gibt, aus meiner Sicht, also durchaus auch Gründe, es so zu machen. Damit möchte ich die Diskussion eigentlich beenden :-) Vielen Dank für die Anmerkungen. -- Mit freundlichen Grüßen Matthias Müller PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Hallo, Am Sam, 09 Dez 2006, Matthias Müller schrieb:
Am Samstag, 9. Dezember 2006 04:17 schrieb David Haller:
Am Fre, 08 Dez 2006, Matthias Müller schrieb:
Am Donnerstag, 7. Dezember 2006 05:04 schrieb David Haller:
Am Mit, 06 Dez 2006, Matthias Müller schrieb:
Noch ne Lösung
for datei in $(ls *.doc)
^^^^^^^^^^^ Wat soll dat dann???
Macht der Gewohnheit?!
Dann gewöhne dir das besser schleunigst ab...! Warum? Bitte ausführliche, stichhaltige Begründung vom Profi für den Profi.
Das schrieb ich schon im meiner ersten Mail! *grummel*
Und ausserdem handelt man sich damit Probleme mit u.a. Leerzeichen ein.
Was du "sinnvollerweise" nicht mitzitiert hast. Demo: $ ls -b1 a\tb a\nb a\ "\ b\ "\ c a\ b abc $ for f in $(ls *); do ls "$f"; done ls: a: No such file or directory ls: b: No such file or directory ls: a: No such file or directory ls: b: No such file or directory ls: a: No such file or directory ls: ": No such file or directory ls: b: No such file or directory ls: ": No such file or directory ls: c: No such file or directory ls: a: No such file or directory ls: b: No such file or directory abc $ for f in *; do ls "$f"; done a?b a?b a " b " c a b abc $ Reicht das? Noch Fragen? -dnh -- Das 42te Gebot des Usernetzes besagt: "Du sollst nicht süchtig siggen eines Süchtigen Signatur. Auf das du selber nicht siggsüchtig werdest." Wahrscheinlich wird das jetzt wieder gesiggt. [Woko° in dag°] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo David, Am Sonntag, 10. Dezember 2006 00:08 schrieb David Haller: snip
Und ausserdem handelt man sich damit Probleme mit u.a. Leerzeichen ein.
Was du "sinnvollerweise" nicht mitzitiert hast. Ich dachte das wäre klar:
Am Mittwoch, 6. Dezember 2006 21:25 schrieb Heinz W. Pahlke: snip
Leerzeichen usw. brauche ich uebrigens nicht zu beruecksichtigen.
Darum brauche ich mir auch nicht den Kopf zu zerbrechen, es sei denn, einer der Anwender hat wieder die Vorschriften, wie Dateien zu benennen sind, interpretiert. -- Mit freundlichen Grüßen Matthias Müller PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Hallo, Am Son, 10 Dez 2006, Matthias Müller schrieb:
Am Sonntag, 10. Dezember 2006 00:08 schrieb David Haller:
Und ausserdem handelt man sich damit Probleme mit u.a. Leerzeichen ein.
Was du "sinnvollerweise" nicht mitzitiert hast. Ich dachte das wäre klar:
Am Mittwoch, 6. Dezember 2006 21:25 schrieb Heinz W. Pahlke: snip
Leerzeichen usw. brauche ich uebrigens nicht zu beruecksichtigen.
Darum brauche ich mir auch nicht den Kopf zu zerbrechen, es sei denn, einer
Das ist aber kein Grund, es extra so zu machen, daß die "Lösung" bei Leerzeichen auf die Schnauze fliegt.
der Anwender hat wieder die Vorschriften, wie Dateien zu benennen sind, interpretiert.
Denn genau das wird passieren. Und das zum ungünstigsten Zeitpunkt. Und speziell bei Lösungshinweisen z.B. hier sollte man immer davon ausgehen, daß komische Dateinamen vorkommen. Mal ganz abgesehen davon, daß das 'ls' schlicht überflüssig ist. -dnh -- Hubs, Switche und Router mit 3Com-Label sind bereits ab Werk hinreichend deutlich als "defekt" markiert. -- A. Schreiber -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 6. Dezember 2006 22:56 schrieb Matthias Müller: Hi to all,
Noch ne Lösung
Ich möchte es auch mal probieren ;-)
for datei in $(ls *.doc) do antiword ${datei} > $(basename ${datei} ".doc").txt # alternativ: # antiword ${datei} > ${datei%%.*}.txt done
for file in *.doc do mv $file $(echo $file | sed 's/doc$/txt/') done Ist zwar nicht so elegant wie mit basename, kann dafür aber - etwas komfortabler - auch Muster im ganzen Dateinamen prima verarbeiten. Es grüßt der Heinzi -- Heiko Romahn Staatl. gepr. Wirtschaftstechniker Efeustrasse 20 Heiko.Romahn@efeustrasse.de 47249 Duisburg Tel: 0203 48 38 203 Viele Gruesse, Heiko@Home -- UNIX ist benutzerfreundlich, es kommt halt auf die Benutzer an! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On 07-Dec-2006 Heiko Romahn wrote:
for file in *.doc do mv $file $(echo $file | sed 's/doc$/txt/') done
Ist zwar nicht so elegant wie mit basename, kann dafür aber - etwas komfortabler - auch Muster im ganzen Dateinamen prima verarbeiten.
Vielen Dank fuer die vielen Loesungswege. Da ich solche Threads speichere, habe ich fuer kommende aehnliche Aufgaben nun eine grosse Auswahl zur Verfuegung. Einen schoenen Tag, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (9)
-
David Haller
-
Dr. Jürgen Vollmer
-
Heiko Romahn
-
Heinz W. Pahlke
-
Manfred Keller
-
Martin Ereth
-
Matthias Müller
-
Michael Herrmann
-
Thomas Hertweck