Paano Gumawa ng Fuzzy File Search sa Linux

Fuzzy File Search sa Linux

Kapag naghahanap ng mga file sa desktop ng Linuz, madalas kang umasa sa feature ng paghahanap ng iyong paboritong file manager. Ang kumbensyonal na diskarte sa paghahanap ay ang paglalapat ng eksaktong paghahanap, upang ang mga file o direktoryo lamang na perpektong tugma sa string ng paghahanap ang ipinapakita.

Ang malabo na paghahanap, sa kabilang banda, ay nagsasagawa ng tinatayang paghahanap, at sa halip na tukuyin ang mga eksaktong tugma, ipinapakita ang mga katugmang resulta sa bawat keystroke. Kinikilala ng utility ng fzf ang sarili nito bilang isang general-purpose fuzzy finder. Inilabas sa ilalim ng Lisensya ng MIT, magagamit ang cross-platform tool sa lahat ng flavor ng Linux.

Pag-install ng fzf sa Linux

(Credit ng larawan: Tom’s Hardware)

Ang pinakabagong release, bersyon 0.29.0, ay inaalok lamang sa mga pinakabagong release ng mga pamamahagi gaya ng Fedora. Manjaro, openSUSE Tumbleweed, Ubuntu, Debian at Arch, habang ang karamihan sa iba ay nagdadala ng mga mas lumang bersyon sa kanilang mga repositoryo.

Upang i-install sa isang Debian / Ubuntu system

1. Magbukas ng terminal.

2. I-update ang listahan ng mga repositoryo. Tinitiyak nito na makukuha namin ang pinakabagong software.

sudo apt update

3. I-install ang f2f gamit ang apt package manager.

sudo apt install f2f

Bukod sa paggamit ng mga software repository, may ilang iba pang paraan para mag-install ng fzf, kasama ang paggamit ng package manager na homebrew para sa Mac. Siyempre, maaari mo ring gamitin ang Git upang i-clone ang direktoryo ng proyekto sa iyong hard disk at pagkatapos ay i-install ang fzf gamit ang script ng pag-install. Ang pakinabang ng paggamit ng Git kumpara sa manager ng package ay natatanggap namin ang bersyon na dumudugo.

Upang mai-install sa pamamagitan ng Git

1. Magbukas ng terminal.

2. I-clone ang repositoryo.

git clone –depth 1 https://github.com/junegunn/fzf.git

3. Baguhin ang direktoryo sa na-download na Git repository.

cd fzf

4. Patakbuhin ang script ng pag-install.

./install

Ang fzf tool ay sumusuporta sa auto-completion at iba’t ibang key binding. Ang mga script sa pag-install ay nagtatanong kung nais mong paganahin ang mga ito at nag-aalok din na i-edit ang iyong ~/.bashrc file. Kapag na-enable, magagawa mong i-deploy ang mga sumusunod na keybinding para ma-invoke ang fzf:

KeybindingFunctionCtrl+rHanapin ang kamakailang history ng command batay sa $HISTFILECtrl+tRecursively hanapin ang filename sa $PWDAlt+cRecursively maghanap ng pangalan ng direktoryo sa ilalim ng $PWD, at cd sa napiling direktoryo

Nagtatrabaho sa fzf

(Credit ng larawan: Tom’s Hardware)

Ang fzf tool ay isang tagahanap lamang kaya hindi gaanong makatuwirang gamitin ito nang mag-isa. Sa halip, maaari mo itong gamitin kasabay ng iba pang mga command tulad ng cd , o upang magbukas ng mga file sa isang text editor gaya ng vim o nano.

Bago natin subukan iyon, magsimula tayo sa isang bagay na simple.

1. Magbukas ng terminal.

2. Pindutin Alt + c upang i-activate ang function ng paghahanap ng direktoryo. Ang function na ito ay gagana lamang sa iyong kasalukuyang working directory (PWD). Bilang default, bubukas ang terminal sa aming home directory.

3. Hintaying mag-load ang interactive na prompt. Sa unang pagkakataong mag-load ito, maaaring tumagal ng ilang sandali para ma-cache ng fzf ang data.

4. Magsimulang mag-type sa pangalan ng isang direktoryo, halimbawa Mga Video. Ang interactive na prompt ay magsisimulang magpakita ng mga direktoryo na tumutugma sa salita.

5. Pindutin ang Enter upang baguhin ang direktoryo. Kung mayroong maraming mga entry, gamitin ang pataas at pababang mga arrow upang i-highlight, pagkatapos ay pindutin ang Enter upang pumili.

Kung walang mahanap, lumabas fzf sa pamamagitan ng pagpindot sa CTRL + C o ESC.

Gamit ang pagkumpleto ng fzf tab

Maaari mong gamitin ang fzf bilang kapalit para sa pagkumpleto ng tab sa lahat ng mga terminal command. Upang ma-invoke ang fzf tab-completion, dapat mong gamitin ang ** identifier na may command. Dito ginagamit namin ang fzf tab-completion kasama ang cd (change directory command) para ilista ang lahat ng mga direktoryo na tumutugma sa aming paghahanap.

(Credit ng larawan: Tom’s Hardware)

1. Magbukas ng terminal.

2. I-type ang cd command pagkatapos ay pindutin ang space, na sinusundan ng dalawang **. Pagkatapos ay pindutin ang TAB key upang ma-trigger ang pagkumpleto ng tab.

cd **

3. Maghanap ng isang direktoryo. Sa aming halimbawa naghanap kami ng Mga Larawan. Habang nagta-type ka, maghahanap ang fzf ng mga direktoryo na tumutugma sa termino para sa paghahanap. Ang mga arrow key ay maaaring gamitin upang mag-scroll sa isang listahan ng mga entry.

4. Pindutin ang Enter upang piliin ang direktoryo, pagkatapos ay pindutin muli ang Enter upang baguhin ang direktoryo.

Ang isa pang halimbawa ng pagkumpleto ng tab ay ang paggamit nito kasama ang kill command upang i-target ang isang partikular na application/proseso at pagkatapos ay patayin ito.

1. Magbukas ng terminal.

2. Gamitin ang tab-completion sa pumatay utos.

pumatay -9 **

3. Maghanap ng aplikasyon/proseso. Mayroon kaming Inkscape na tumatakbo sa background kaya piniling hanapin iyon.

4. Gamitin ang mga arrow key upang piliin ang tamang proseso at pindutin ang Enter upang pumili.

5. Pindutin ang Enter upang patakbuhin ang kill command sa tinukoy na proseso.

(Credit ng larawan: Tom’s Hardware)

Bilang default, nagsisimula ang fzf sa mode na extended-search, na nangangahulugang maaari kang mag-type ng mga keyword na pinaghihiwalay ng espasyo upang paliitin ang file o direktoryo na iyong hinahanap.

Gayunpaman, maaari mo ring gamitin ang iba’t ibang mga diskarte upang mapabuti ang mga resulta ng paghahanap. Dito ginagamit namin ang paghahanap ng filename upang mahanap ang mga file ng Python.

1. Magbukas ng terminal.

2. Mag-type in mas kaunti at pagkatapos ay pindutin ang CTRL + T upang buksan ang tool sa paghahanap ng pangalan ng file ng fzf. Upang tingnan ang isang file mas kaunti ang ginagamit namin dahil ito ay may kasamang built-in na pagination at mga tool upang mag-scroll sa malalaking halaga ng teksto.

3. I-type ang extension ng file, sa kasong ito .py, at magdagdag ng dollar sign sa dulo ng linya.

.py$

4. Gamitin ang mga arrow key upang piliin ang tamang file at pindutin ang Enter upang pumili.

5. Pindutin ang Enter upang buksan ang file gamit ang mas kaunti. Maghanap

Talaan ng mga karagdagang pagpapahusay

TokenExampleExplanationstringstringNaghahanap ng string”stringNagsasagawa ng eksaktong tugma para sa mga item na kinabibilangan ng naka-quote na string^string^LXFLists item na nagsisimula sa LXF sa pamamagitan ng pagsasagawa ng prefix exact-match.format$.odt$Lists file na nagtatapos sa .odt format sa pamamagitan ng pagsasagawa ng suffix exact-match!string!dhcIlista ang mga item na hindi kasama ang dhc sa pamamagitan ng pagsasagawa ng inverse-exact-match!^string~^LXFListisahin ang mga item na hindi nagsisimula sa LXF sa pamamagitan ng pagsasagawa ng inverse prefix na exact-match!.format$!.odt$ Naglilista ng mga file na hindi nagtatapos sa .odt na format sa pamamagitan ng pagsasagawa ng inverse suffix-exact-match

Ang tutorial na ito ay unang lumabas sa isyu 287 ng Linux Format magazine.

Click to rate this post!
[Total: 0 Average: 0]