Raskite failus, kuriuose yra konkretaus teksto sistemoje „Linux“.
„Linux“, neatsižvelgiant į jūsų naudojamą platinimą, yra su daugybe GUI įrankių, leidžiančių ieškoti failų. Daugelis šiuolaikinių failų tvarkyklių palaiko failų paiešką tiesiog failų sąraše. Tačiau yra keletas situacijų, kai reikia naudoti konsolę, pavyzdžiui, SSH seanso metu arba kai X serveris nepaleidžiamas. Štai kaip galite greitai rasti failus, kuriuose yra konkretus tekstas, naudodami terminalą.
Skelbimas
Jei galite naudoti GUI, failų paieška nėra problema. Mano mėgstamiausioje XFCE darbalaukio aplinkoje Thunar failų tvarkyklė leidžia ieškoti failų įvedant failo pavadinimą tiesiai į failų sąrašą.
Tačiau nė viena iš mano bandytų failų tvarkyklių neleidžia ieškoti failų turinio.
Norėdami apeiti šį apribojimą dirbdami GUI sesijoje, galite naudoti Сatfish. Сatfish yra populiarus paieškos įrankis. Tai leidžia ieškoti failo turinio. Turite spustelėti krumpliaračio piktogramą ir įjungti parinktį Ieškokite failo turinio.
Tačiau kalbant apie terminalą, negalite naudoti jokio grafinio įrankio. Be to, manau, kad „Catfish“ nėra naudingas ir man labiau patinka klasikiniai konsolės įrankiai. Štai mano naudojami metodai ir įrankiai.
Norėdami rasti failus su tam tikru tekstu Linux sistemoje, atlikite šiuos veiksmus.
- Atidarykite mėgstamą terminalo programą. XFCE4 terminalas yra mano asmeninis pasirinkimas.
- Įveskite šią komandą:
rasti ./ -type f -exec grep -l "tekstas rasti" {} \;
- Bus sudarytas failų, kuriuose yra reikiama teksto dalis, sąrašas.
Komanda rasti ieškos failų, pradedant nuo dabartinio katalogo „./“. Vietoj to galite nurodyti norimą kelią.
Variantas - tipas f liepia ieškoti tik failų ir neįtraukti katalogų. Be to, galite nustatyti, kad ji ieškotų tik tam tikro failo tipo, pridėdami parinktį taip:rasti ./ -type f -name "*.txt" -exec grep -l "tekstas, kurį reikia rasti" {} \;
Žiūrėkite šią ekrano kopiją:
The -vykdytojas parinktis iškviečia grep įrankį kiekvienam atitinkančiam failui, kad patikrintų jų turinį. Jei faile randamas tekstas, jo pavadinimas bus pridėtas prie išvesties, nes -l variantas.
Alternatyvos
Aukščiau aprašytiems metodams yra alternatyvų. Visų pirma, galite naudoti tik grep įrankis. Išbandykite šią komandą:
grep -iRl "tekstas, kurį reikia rasti" ./
- -i reiškia ignoruoti teksto didžiąsias ir mažąsias raides.
- -R reiškia rekursinį failų apdorojimą.
- -l reiškia "rodyti failo pavadinimą, o ne patį rezultatą".
Kaip matote, šis metodas yra mažiau lankstus nei rasti komandą.
Vidurnakčio vadas
Kitas metodas, kurį dažnai naudoju, yra „Midnight Commander“ (mc), konsolės failų tvarkyklės programa. Skirtingai nei find ar grep, mc pagal numatytuosius nustatymus nėra įtrauktas į visas mano bandytas Linux platinimo versijas. Jums gali tekti jį įdiegti patiems.
Norėdami rasti failus su tam tikru tekstu naudodami Midnight Commander, paleiskite programą ir klaviatūroje paspauskite šią seką:
Alt + Shift + ?
Tai atvers paieškos dialogo langą.
Užpildykite skyrių „Failo pavadinimas:“. Jei norite ieškoti teksto tik tekstiniuose failuose, galite nurodyti kažką panašaus į „*.txt“.
Dabar užpildykite Turinys: dėžė. Įveskite tekstą, kuris yra failuose, ir paspauskite klavišą Enter.
Jis suras visus kriterijus atitinkančius failus.
Viskas.