ABSTRACT: es wird die wildcard expansion durch die shell ("globbing") erklaert AUDIENCE: beginners SYSTEM: any unix SECTION: basic unix commands AUTHOR: mond COPYRIGHT: GNU Free Documentation Licence http://www.gnu.org/licenses/fdl.txt wir haben schon oft befehle wie: cp *.txt *.html blabla/ verwendet. dieser befehle wuerde alle file die auf .txt oder .html aenden ins verzeichniss blabla das suchen aller files die mit .txt enden macht aber nicht das cp programm sondern das macht schon die shell. diese ersetzt den ausdruckt *.txt durch die namen aller files die auf .txt enden ("matchen") und ruft das cp programm dann mit diesen namen auf. wir koenenn sich das anschaun indem wir echo verwenden um alle argumente auszugeben: echo *.txt gibt die namen aller files aus die auf .txt enden. (die shell ruft das echo programm genau mit diesen argumenten auf). dieses ersetzen der "wildcard" ausdruecke nennt man "globbing". die ausdruecke sind allerdings nicht so maechtig wie die regular expressions die wir bei grep kennengelernt haben. echo [abc]*.txt wuerde alle files finden die mit a b oder c beginnen und auf .txt enden. echo [a-h]*[i]*.txt wuerde alle files matchen die mit a,b,c,d,f,g oder h beginnen und irgendwo im namen ein i haben und auf .txt enden. echo *.{txt,html,jpg} wuerde alle files finden die entweder auf txt auf html oder auf jpg enden das matchen geht allerdings nicht nur auf den dateinamen sondern auch auf verzeichnisse: echo /home/*/.bash_profile gibt die namen aller .bash_profiles aller user an (vorausgesetzt du hast lesebrechtigung auf ihre homeverzeichnisse) das globbing ist also doch halbwegs leistungsfaehig. morgen lernen wir aber noch etwas nueztlicheres: command subtitution. EXERCISES: * welches programm ist fuer das expandieren der wildcards zustaendig? * teste das shell globing mit dem echo befehl REFERENCES: man bash (nach "Pattern Matching" suchen) info bash