Datum: 2004-02-14
Quelle: suse-linux
Aus einer Datei mit einem ziemlich eigenwilligen Aufbau (siehe Code-Abschnitt) sollen der Pfad und der Dateiname ermittelt und die so definierte Datei kopiert werden.
echo ' ..== Name : TEST ..== ..== Pfad : owfo' | \ `awk ' $2=="Pfad" { path=$NF } $2=="Name" { name=$NF } END { printf "cp %s/%s %s.BAK\n",path,name,name } '`
Zum Parsen von ungewöhnlichen Dateiformaten eignet sich oft der awk. In diesem Fall baut er auch gleich das Kommando zum Kopieren der Datei auf. Die Backticks rund um den code bewirken eine Kommandosubstitution, so dass die von ihm erzeugten Kommandos nicht ausgegeben, sondern sofort ausgeführt werden.