Atrodiet failus, kas satur noteiktu tekstu operētājsistēmā Linux
Neatkarīgi no jūsu izmantotā izplatīšanas sistēmas Linux ir vairāki GUI rīki, kas ļauj meklēt failus. Daudzi mūsdienu failu pārvaldnieki atbalsta failu meklēšanu tieši failu sarakstā. Tomēr ir vairākas situācijas, kad jums ir jāizmanto konsole, piemēram, SSH sesijas laikā vai kad X serveris netiek startēts. Lūk, kā, izmantojot termināli, varat ātri atrast failus, kas satur noteiktu tekstu.
Ja varat izmantot GUI, failu meklēšana nav problēma. Manā iecienītākajā XFCE darbvirsmas vidē Thunar failu pārvaldnieks ļauj meklēt failus, ierakstot faila nosaukumu tieši failu sarakstā.
Tomēr neviens no manis izmēģinātajiem failu pārvaldniekiem neļauj meklēt faila saturu.
Lai apietu šo ierobežojumu, strādājot GUI sesijā, varat izmantot Сatfish. Сatfish ir populārs meklēšanas rīks. Tas ļauj meklēt faila saturu. Jums jānoklikšķina uz zobrata ikonas un jāiespējo opcija Meklēt faila saturu.
Tomēr, runājot par termināli, jūs nevarat izmantot nevienu grafisko rīku. Turklāt es uzskatu, ka Catfish nav noderīgs un dodu priekšroku klasiskajiem konsoles rīkiem, nevis tam. Šeit ir manis izmantotās metodes un rīki.
Lai atrastu failus, kas satur noteiktu tekstu operētājsistēmā Linux, rīkojieties šādi.
- Atveriet savu iecienītāko termināļa lietotni. XFCE4 terminālis ir mana personīgā izvēle.
- Ierakstiet šādu komandu:
atrast ./ -type f -exec grep -l "atrodams teksts" {} \;
- Tiks izveidots failu saraksts, kurā būs vajadzīgā teksta daļa.
Atrast komanda meklēs failus, sākot no pašreizējā direktorija "./". Tā vietā varat norādīt vēlamo ceļu.
Opcija -f tips liek tai meklēt tikai failus un izslēgt direktorijus. Varat arī likt tam meklēt tikai noteiktu faila tipu, pievienojot šādu opciju:atrast ./ -type f -name "*.txt" -exec grep -l "atrodams teksts" {} \;
Skatiet šādu ekrānuzņēmumu:
The - izpildītājs opcija izsauc grep rīku katram atbilstošajam failam, lai pārbaudītu to saturu. Ja teksts tiek atrasts failā, tā nosaukums tiks pievienots izvadei, pateicoties -l variants.
Alternatīvas
Iepriekš aprakstītajām metodēm ir alternatīvas. Pirmkārt, jūs varat izmantot tikai grep rīks. Izmēģiniet šādu komandu:
grep -iRl "atrodams teksts" ./
- -i apzīmē ignorēt teksta reģistru.
- -R apzīmē rekursīvu failu apstrādi.
- -l nozīmē "rādīt faila nosaukumu, nevis pašu rezultātu".
Kā redzat, šī metode ir mazāk elastīga nekā atrast komandu.
Pusnakts komandieris
Vēl viena metode, ko bieži izmantoju, ir Midnight Commander (mc), konsoles failu pārvaldnieka lietotne. Atšķirībā no find vai grep, mc pēc noklusējuma nav iekļauts visos Linux distros, ko esmu izmēģinājis. Iespējams, tas būs jāinstalē pašam.
Lai, izmantojot Midnight Commander, atrastu failus ar noteiktu tekstu, palaidiet lietotni un nospiediet tālāk norādīto tastatūras secību.
Alt + Shift + ?
Tas atvērs meklēšanas dialoglodziņu.
Aizpildiet sadaļu "Faila nosaukums:". Varat norādīt kaut ko līdzīgu “*.txt”, lai meklētu tekstu tikai teksta failos.
Tagad aizpildiet Saturs: kaste. Ievadiet tekstu, kas satur failus, un nospiediet taustiņu Enter.
Tas atradīs visus failus, kas atbilst kritērijiem.
Tieši tā.