Vill du hitta en fil vars innehåll är en specifik text?

Docka med förstoringsglas

Vissa har frågat mig om en funktion som de senaste versionerna av Microsoft Windows har där du kan använda sin sökmotor för att hitta, inte bara filer med ett visst namn, men du kan också inkludera en text för att hitta filer som innehåller sådan text, såsom PDF-filer, Microsoft Office-dokument, .txt-textfiler etc. Du borde veta att i din GNU / Linux-distribution kan du göra det och mycket mer.

Vi har redan gjort små handledning i LxA av kommandon som hitta, var är, lokalisera etc. Nu ska vi berätta ett sätt att återskapa denna funktion som jag har pratat om i första stycket från din konsol. Som jag säger Linux är extremt flexibel och har olika verktyg för att hitta saker, här ska vi visa dig några av de olika sätt som du kan använda för att söka efter filer där en viss text eller sträng finns: För att sök efter ett ord eller en sträng i filerna i en katalog kan du använda:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

I det föregående exemplet skulle vi leta efter ordet "hej" i / home-katalogen i alla filer som finns. I det första fallet, med alternativet -s utförs en icke-rekursiv sökning, medan den med -R blir rekursiv, så om det finns underkataloger inuti kommer den också att söka där ... Men var försiktig, det skulle söka i alla innehåll med den här strängen «hej". Om det finns en fras eller ett ord som "hej" skulle det också betrakta det som giltigt och visa filerna som innehåller detta, det vill säga det söker inte efter det ordet på ett specifikt sätt. För att göra det specifikt kan du använda det tredje alternativet.

Kom ihåg att det kommer att göra skiftlägeskänsliga sökningar, så tidigare exempel skulle ignorera saker som Hello, HELLO, holA, etc. Att göra en sök och ignorera fall, då kan du använda alternativet -i.

Tänk dig att du vill göra en sökning i omvänd ordning, det vill säga alla de filer där inkludera inte en sträng eller ett ord specifik. Kan du? Sanningen är att ja, till exempel:

grep -Rlv hola /home/*

grep --exclude-dir= /home/Desktop -Rlv /home/*

I det första exemplet kommer det att visa hela listan över filer som inte innehåller ordet "hej", medan det i det andra fallet skulle göra detsamma men filer som hittas exkluderas värd i / home / Desktop ... Förresten, detta alternativ –exclude-dir = kan också användas i de första exemplen ...


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   James Vigo sade

    Grazas per isto.