Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara grep Mencari Nama File Alih-alih Konten di Linux

Posted on July 19, 2022 by Syauqi Wiryahasana






grep adalah alat Linux yang biasanya digunakan untuk menelusuri file teks untuk konten tertentu. Namun, sering kali berguna untuk menelusuri direktori untuk nama file alih-alih konten file, dan ini dapat dilakukan dengan grep dan utilitas baris perintah Linux lainnya

Menggunakan find Alih-alih grep






Utilitas grep pada dasarnya mengambil input string dari file atau input standar dan menggunakan pola atau Regex untuk telusuri dan cetak baris yang cocok.



Anda secara teknis dapat menggunakan grep sendiri untuk menelusuri nama file alih-alih konten, tetapi itu hanya karena Linux mengizinkan karakter pengganti dalam input nama file. Namun, Anda dapat dengan mudah menggunakan ls untuk membuat daftar file dengan cara ini, atau menggunakan karakter pengganti di perintah lain, dan ini bukanlah solusi nyata untuk mencari nama file seperti cara grep menelusuri content.

grep "" ./file* -l





The real solusinya adalah dengan menggunakan utilitas find, yang dapat menelusuri sub-direktori dan menyediakan cara paling tangguh untuk menelusuri file saat berinteraksi langsung dengan sistem file. Ini adalah utilitas yang paling umum digunakan untuk menelusuri direktori, dan memiliki banyak opsi—termasuk pencocokan pola dan dukungan Regex.



Penggunaan paling dasar adalah menggunakan find sendiri untuk mencetak daftar file, termasuk subdirektori, dan berikan masukan itu ke grep. Jika Anda sudah memiliki skrip yang menggunakan grep, akan sangat mudah untuk mengonversinya agar cocok dengan cara ini.

find | grep "file"





Anda juga dapat menggunakan pola secara langsung dengan find, menghilangkan kebutuhan grep. Gunakan -iname dengan input.

find . -iname `file_*.txt`





Tidak seperti grep, perintah find sedikit lebih ketat—Anda perlu menggunakan tanda kutip tunggal atau ganda untuk keluar dari string pencarian, dan Anda perlu menggunakan karakter pengganti untuk mencocokkan seluruh string. Cukup menemukan substring dalam nama tidak mungkin tanpa menggunakan wildcard untuk mencocokkan sisa nama.

Menggunakan Ekspresi Reguler (Regex) Dengan find


Anda juga dapat menggunakan ekspresi reguler dengan find, yang memungkinkan pencocokan lebih lanjut:





find . -regex `./file.*`









Regex ini akan cocok dengan semua file di direktori saat ini yang dimulai dengan "file". Namun, penting untuk diketahui bahwa ini bekerja secara berbeda dari -iname; masukan menyertakan jalur direktori lengkap, dan harus menggunakan ./ untuk keluar dari jalur relatif, ./.



Perintah yang ditampilkan di sini tidak termasuk folder ./subdirektori/ , karena tidak dimulai dengan “file”. Untuk memperbaikinya, Anda harus mencocokkan semua yang mengarah ke garis miring terakhir dengan .*/:

find . -regex `.*/file.*`

Ekspresi reguler sangat rumit, tetapi sangat kuat. Jika Anda ingin mempelajari lebih lanjut, Anda dapat membaca panduan kami tentang cara kerjanya.



TERKAIT:Bagaimana Sebenarnya Anda Menggunakan Regex?



Itulah berita seputar Cara grep Mencari Nama File Alih-alih Konten di Linux, semoga bermanfaat. Disadur dari HowToGeek.com.
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically