10 Contoh Praktis Menggunakan Wildcard untuk Mencocokkan Nama File di Linux


Wildcard (juga disebut sebagai karakter meta) adalah simbol atau karakter khusus yang mewakili karakter lain. Anda dapat menggunakannya dengan perintah apa pun seperti perintah ls atau perintah rm untuk membuat daftar atau menghapus file yang cocok dengan kriteria tertentu, secara reseptif.

Baca Juga: 10 Contoh Praktis yang Berguna tentang Chaining Operator di Linux

Wildcard ini diinterpretasikan oleh shell dan hasilnya dikembalikan ke perintah yang Anda jalankan. Ada tiga wildcard utama di Linux:

  • Tanda bintang (*) – cocok dengan satu atau lebih kemunculan karakter apa pun, termasuk tanpa karakter.
  • Tanda tanya (?) – mewakili atau mencocokkan satu kemunculan karakter apa pun.
  • Karakter dalam tanda kurung ([ ]) – cocok dengan kemunculan karakter apa pun yang diapit tanda kurung siku. Dimungkinkan untuk menggunakan berbagai jenis karakter (karakter alfanumerik): angka, huruf, karakter khusus lainnya, dll.

Anda harus hati-hati memilih wildcard mana yang akan digunakan untuk mencocokkan nama file yang benar: Anda juga dapat menggabungkan semuanya dalam satu operasi seperti yang dijelaskan dalam contoh di bawah.

Cara Mencocokkan Nama File Menggunakan Wildcard di Linux

Untuk tujuan artikel ini, kami akan menggunakan file berikut untuk mendemonstrasikan setiap contoh.

createbackup.sh  list.sh  lspace.sh        speaker.sh
listopen.sh      lost.sh  rename-files.sh  topprocs.sh

1. Perintah ini mencocokkan semua file dengan nama yang dimulai dengan l (yang merupakan awalan) dan diakhiri dengan satu atau lebih kemunculan karakter apa pun.

ls -l l*	

2. Contoh ini menunjukkan penggunaan lain dari * untuk menyalin semua nama file yang diawali dengan users-0 dan diakhiri dengan satu atau lebih kemunculan karakter apa pun.

mkdir -p users-info
ls users-0*
mv -v users-0* users-info/	# Option -v flag enables verbose output

3. Perintah berikut mencocokkan semua file dengan nama yang dimulai dengan l diikuti dengan karakter apa pun dan diakhiri dengan st.sh (yang merupakan akhiran ).

ls l?st.sh	

4. Perintah di bawah ini mencocokkan semua file dengan nama yang dimulai dengan l diikuti oleh salah satu karakter dalam tanda kurung siku tetapi diakhiri dengan st.sh .

ls l[abdcio]st.sh 

Cara Menggabungkan Wildcard untuk Mencocokkan Nama File di Linux

Anda dapat menggabungkan karakter pengganti untuk membuat kriteria pencocokan nama file yang kompleks seperti yang dijelaskan dalam contoh berikut.

5. Perintah ini akan mencocokkan semua nama file yang diawali dengan dua karakter apa pun diikuti dengan st tetapi diakhiri dengan satu atau lebih kemunculan karakter apa pun.

ls
ls ??st*

6. Contoh ini mencocokkan nama file yang dimulai dengan salah satu karakter berikut [clst] dan diakhiri dengan satu atau lebih kemunculan karakter apa pun.

ls
ls [clst]*

7. Dalam contoh ini, hanya nama file yang dimulai dengan salah satu karakter berikut [clst] diikuti dengan salah satu dari [io] ini dan kemudian karakter apa pun karakter, diikuti dengan t dan terakhir, satu atau lebih kemunculan karakter apa pun akan dicantumkan.

ls
ls [clst][io]?t*

8. Di sini, nama file yang diawali dengan satu atau lebih kemunculan karakter apa pun, diikuti dengan huruf tar dan diakhiri dengan satu atau lebih kemunculan karakter apa pun akan dihapus.

ls
rm *tar*
ls

Cara Mencocokkan Karakter yang Diatur di Linux

9. Sekarang mari kita lihat cara menentukan sekumpulan karakter. Pertimbangkan nama file di bawah ini yang berisi informasi pengguna sistem.

ls

users-111.list  users-1AA.list  users-22A.list  users-2aB.txt   users-2ba.txt
users-111.txt   users-1AA.txt   users-22A.txt   users-2AB.txt   users-2bA.txt
users-11A.txt   users-1AB.list  users-2aA.txt   users-2ba.list
users-12A.txt   users-1AB.txt   users-2AB.list  users-2bA.list

Perintah ini akan mencocokkan semua file yang namanya dimulai dengan users-i, diikuti dengan angka, huruf kecil atau angka, lalu angka dan diakhiri dengan satu atau lebih kemunculan karakter apa pun.

ls users-[0-9][a-z0-9][0-9]*

Perintah berikutnya mencocokkan nama file yang diawali dengan users-i, diikuti dengan angka, huruf kecil atau besar, atau angka, lalu angka dan diakhiri dengan satu atau lebih kemunculan karakter apa pun.

ls users-[0-9][a-zA-Z0-9][0-9]*

Perintah berikut ini akan mencocokkan semua nama file yang diawali dengan users-i, diikuti dengan angka, huruf atau angka kecil atau besar, lalu huruf kecil atau besar dan diakhiri dengan satu atau lebih kemunculan karakter apa pun.

ls users-[0-9][a-zA-Z0-9][a-zA-Z]*

Cara Meniadakan Kumpulan Karakter di Linux

10. Anda juga dapat meniadakan sekumpulan karakter menggunakan simbol !. Perintah berikut mencantumkan semua nama file yang dimulai dengan users-i, diikuti dengan angka, karakter penamaan file apa pun yang valid selain angka, lalu huruf kecil atau besar dan diakhiri dengan satu atau lebih kemunculan apa pun karakter.

ls users-[0-9][!0-9][a-zA-Z]*

Itu saja untuk saat ini! Jika Anda telah mencoba contoh di atas, Anda sekarang seharusnya sudah memiliki pemahaman yang baik tentang cara kerja wildcard untuk mencocokkan nama file di Linux.

Anda mungkin juga ingin membaca artikel berikut ini yang menunjukkan contoh penggunaan wildcard di Linux:

  1. Cara Mengekstrak File Tar ke Direktori Tertentu atau Berbeda di Linux
  2. 3 Cara Menghapus Semua File dalam Direktori Kecuali Satu atau Beberapa File Berekstensi
  3. 10 Tips Berguna untuk Menulis Skrip Bash yang Efektif di Linux
  4. Cara Menggunakan Awk dan Ekspresi Reguler untuk Memfilter Teks atau String di File

Jika Anda memiliki sesuatu untuk dibagikan atau pertanyaan untuk ditanyakan, gunakan formulir komentar di bawah.