Hi Thomas,

Wednesday, April 03, 2002, 1:49:11 PM, you wrote:

TB> wie kann ich mit Hilfe von awk oder sed folgenden Aufgabe erledigen?

TB> org. Dateiname = bla.test.work  --> Dateiname ändern auf bla.test (ohne
TB> ".work")

-- igitt ih igitt! Nix da mit sed, awk oder sonstwas.. is ja schlimm.
   Man will schließlich das letzte Fünkchen Geschwindigkeit
   herausholen und da bedient man sich doch nur ungern mit einem
   extrernen Programm, wenn die bash doch da was eingebaut hat. ;-)

   -snip-
   orig_file="bla.test.work"
   file_without_work="${orig_file%.*}"
   -snap-

   Das Ganze ist bekannt unter Parameter Substitution. Weil wir grad
   dabei sind mit Optimierung von Shellscripts:
   Für einfache sed aufgaben hat bash noch etwas zusätzlich parat:

   -snip-
   te1="haha hehe"
   echo "${te1/haha/}"
   echo "${te1//haha/}"
   -snap-

   Einfach mal aurpobieren, staunen und das nächste mal gleich
   optimiert einsetzten.. ;-)


TB> Würde s/.work// funktionieren, oder wird dann ein Leerzeichen angehängt?

-- bei einem 's/.work/ /' würde ein leerzeichen angehängt; dagegen
   wird bei einem 's/.work//' wahrscheinlich nur ein '\0' angehängt.



HTH :-)
    Tobias

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an