GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal dan Menggunakan Perintah Ack di Linux dengan Contoh

Sistem operasi Linux memungkinkan Anda menelusuri struktur direktori dan file direktori untuk pencocokan string teks tertentu. Alat umum yang membantu kami mencapai penelusuran direktori ini adalah grep (cetakan ekspresi reguler global ) memerintah. Penggunaan ekspresi reguler grep memungkinkan untuk memulai pencarian pola string apa pun menuju output tekstual yang cocok pada baris perintah.

[ Anda mungkin juga menyukai:Ripgrep – Alat Pencarian Baris Perintah Tercepat untuk Linux ]

Namun, kelemahan grep dalam kecepatan dan fitur non-fleksibel. Di sinilah ack alat mengambil alih. Ini memberikan pencarian cepat yang meluas ke pencarian direktori kode sumber sambil memberi pengguna Linux fleksibilitas untuk mengecualikan keluaran tertentu dari hasil pencarian.

Cara Menginstal Ack di Linux

Setiap platform yang didukung Perl dapat mengakomodasi ack alat pencarian. Kami menginstalnya dengan merujuk paket utamanya, ack-grep .

$ sudo apt-get install ack-grep      [On Debian, Ubuntu and Mint]
$ sudo yum install ack-grep         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/ack-grep  [On Gentoo Linux]
$ sudo pacman -S ack-grep           [On Arch Linux]
$ sudo zypper install ack-grep      [On OpenSUSE]    

Penelusuran Direktori Ack

Sejak kembali dikaitkan dengan berorientasi pada kode sumber, kita dapat mendemonstrasikan kecakapan pencarian pola string melalui direktori kode sumber. Github adalah sumber terkenal untuk ribuan direktori kode sumber. Direktori kode sumber proyek yang ideal untuk panduan artikel ini adalah proyek neovim.

Instal Git di Linux

$ sudo apt-get install git     [On Debian, Ubuntu and Mint]
$ sudo yum install git         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/git  [On Gentoo Linux]
$ sudo pacman -S git           [On Arch Linux]
$ sudo zypper install git      [On OpenSUSE]    

Proyek Klon Neovim

Berbagai jenis file yang berbeda dalam proyek editor teks neovim ini diperlukan untuk panduan artikel kami.

$ git clone https://github.com/neovim/neovim.git

Navigasikan ke neovim direktori kloning untuk memulai tutorial kami.

$ cd neovim && ls

Direktori tingkat atas yang terdaftar memperlihatkan file penurunan harga (.md) , file teks (.txt) , dan file YAML.

Menerapkan Perintah Pencarian Ack Sederhana

Karena sebagian besar kueri penelusuran dari jendela terminal Linux menyebabkan pengguliran tak terkendali karena keluaran tak terbatas, kami dapat menyalurkan hasil penelusuran ini ke “kurang ” untuk contoh hasil yang melebihi ukuran jendela terminal normal.

$ echo '--pager=less -RFX' >> ~/.ackrc

ack di atas perintah konfigurasi secara cerdas menangani keluaran hasil yang melimpah.

Menemukan Jumlah Total File dalam Direktori

Contoh perintah pertama ini membantu kita membedakan efisiensi logis ack telusuri dari grep Cari. Melalui grep , kita dapat mengetahui jumlah total file pada neovim yang dikloning proyek melalui perintah berikut:

$ find . | wc -l

Ak hanya akan menghitung file yang dirasa relevan secara logika, sehingga outputnya akan berbeda.

$ ack -f | wc -l

Di atas 7% (2984-2772 ) file yang diabaikan diabaikan dari semua ack kueri penelusuran.

Menemukan Variasi Pola String Tertentu dari Direktori

Mari kita coba mengkueri kemunculan sesaat dari pola string “membatasi ”.

$ ack restrict

Output di atas menunjuk ke nomor baris yang tepat dalam file yang berisi kecocokan pola string. Hasil pola layar keluaran “membatasi ” juga merupakan bagian dari kata-kata seperti dibatasi dan pembatasan .

Menemukan Kata Pola String Tertentu dari Direktori

Jika Anda tidak tertarik pada hasil penelusuran yang muncul sebagai variasi tetapi sebagai kata yang lengkap, Anda perlu menerapkan pola string penelusuran secara berbeda.

$ ack -w restrict 

Seperti yang Anda lihat, pola pencarian string mencari “membatasi ” sebagai kata yang lengkap dan bukan bagian dari kemunculan kata lainnya.

Menemukan Pola String Tertentu dari Jenis File Tertentu

Mungkin Anda ingin penelusuran pola string Anda menargetkan file tertentu seperti Python (--python) file, c (--c) file, vim (--vim) file atau jenis file lainnya, kueri pola string Anda harus merujuk pada jenis file yang Anda cari.

$ ack -w --python restrict

Output perintah di atas menunjukkan kemunculan kata “membatasi ” pada baris 110 di dalam file Python “src/clint.py ”.

Menemukan Kemunculan Total Pencarian Pola String di Setiap File

Sejak kloning neovim direktori yang kami gunakan memiliki jenis file yang berbeda, perintah ini menghitung kemunculan pencarian pola string tertentu (membatasi ) di setiap jenis file ini.

$ ack -c restrict  

Mengontrol Output Pencarian Pola String

Output perintah di atas mencakup file dengan pola string nol yang cocok untuk input string yang ditentukan. Untuk menghindarinya, perintah berikut mencetak total baris file yang cocok untuk input pola string yang ditentukan.

$ ack -ch restrict

Kita dapat membuat output di atas lebih kecil dan akurat dengan meminta output pencarian untuk hanya mempertimbangkan kata-kata lengkap dan bukan varian kata.

$ ack -ch -w restrict 

Kami juga dapat mempersempit hasil perintah di atas untuk hanya mempertimbangkan file Python:

$ ack -ch -w --python restrict

Kami juga dapat menggunakan waktu perintah untuk memantau kecepatan pencarian kami:

$ time ack -ch restrict

Dengan lebih spesifik dalam kriteria pola pencarian kami, kami akan mendapatkan hasil yang lebih cepat seperti yang ditunjukkan di bawah ini dibandingkan dengan hasil di atas.

$ time ack -ch -w --python restrict

Kami juga dapat menampilkan nama file aktual yang cocok dengan pola pencarian.

$ ack -f --python

Pola pencarian ack juga dapat menargetkan konvensi penamaan file. C Any apa saja file dengan “log ” dapat dicocokkan dengan perintah berikut:

$ ack -g log --cc

ack alat pencarian sangat fleksibel ketika ditangani di bawah direktori kode sumber. Anda masih dapat mengadopsi penggunaannya ke file di dalam lingkungan Linux Anda. Ini dapat diperpanjang dan cepat. Gunakan man ack perintah untuk menemukan lebih banyak opsi untuk menjelajahi alat yang cepat dan ringan ini.


Linux
  1. Cara Menggunakan Perintah Hexdump Linux dengan Contoh Praktis

  2. Cara Menggunakan Pipes dan Named Pipes di Linux (dengan Contoh)

  3. Perintah SCP di Linux:Cara Menggunakannya, dengan Contoh

  1. Cara Menggunakan Perintah IP di Linux dengan Contoh

  2. Cara Menggunakan Perintah RMmod Di Linux Dengan Contoh

  3. Cara Menggunakan Perintah Shutdown dan Reboot Linux dengan Contoh

  1. Cara Menggunakan Perintah Linux Cat (Dengan Contoh)

  2. Cara Menggunakan Perintah sleep Linux dengan Contoh

  3. Cara Menggunakan Perintah who di Linux dengan Contoh