Nama file, wildcard, dan ekspansi path Terkadang diperlukan untuk menjalankan sebuah perintah pada lebih dari satu file. Contoh paling umum adalah perintah ls, yang menampilkan informasi tentang file. Dalam bentuk paling sederhananya, tanpa option atau argumen. ls menampilkan nama semua file dalam direktori kerja kecuali file-file tersembunyi, yang namanya dimulai dengan tanda titik (.).
Nama file begitu penting dalam UNIX sehingga shell menyediakan cara built-in untuk menspesifikasikan pola sejumlah nama file tanpa perlu tahu nama mereka. Anda dapat menggunakan karakter-karakter khusus, yang disebut wildcard, dalam nama file untuk menjadikan mereka pola.
1 menampilkan sejumlah wildcard dasar:
Wildcard ? akan mencocokkan satu buah karakter, jadi bila direktori anda berisikan file-file program.c, program.log, dan program.o, maka ekspresi program.? akan cocok dengan program.c dan program.o namun tidak dengan program.log.
Wildcard = Kecocokan
? = Sembarang karakter tunggal
* = Sembarang string karakter
[set] = Sembarang karakter yang ada di set
[!set] = Sembarang karakter yang tidak ada di set
Tanda asteriks (*) lebih powerful dan lebih banyak digunakan. Ia akan mencocokkan sembarang string karakter. Ekspresi program.* akan cocok dengan ketiga file tersebut di atas. Perhatikan bahwa tanda (*) dapat juga cocok dengan string kosong, *ed dan *e* akan cocok dengan ed.
Wildcard sisanya adalah konstruksi set. Sebuah set adalah sebuah daftar karakter (misalnya abc), sebuah rentang inklusif (misalnya A-Z), atau keduanya. Dalam contoh di atas, program.[co] dan program.[a-z] akan
cocok dengan program.c dan program.o, namun tidak program.log.
Tanda "seru" setelah kurung siku kiri menjadikan sebuah set ternegasi. Sebagai contoh [!a-zA-Z] akan cocok dengan sembarang karakter yang bukan huruf seperti angka (0-9) dan simbol (!,@,#,$,%,^,&,*,dll).
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.