GNU/Linux >> Znalost Linux >  >> Debian

Debian – hledejte poslední upravené soubory za poslední 2 minuty ve vašem domovském adresáři, které obsahují určitý řetězec?

Hledám ve svém domovském adresáři soubory, které byly změněny během posledních dvou minut a které také obsahují určitý řetězec. Zkusil jsem to pomocí tohoto příkazu:

 find -type d -mmin -2 -ls | grep -Ril "mystring" 

Zdá se, že to funguje, ale zřejmě vytiskne pouze soubory s daným řetězcem uvnitř, nikoli soubory obsahující řetězec naposledy upravené před 2 minutami. Zdá se, že první část příkazu není provedena.

Přijatá odpověď:

Měli jste dobrý pokus s vlastním návrhem

find -type d -mmin -2 -ls | grep -Ril "mystring"

To by identifikovalo adresáře (-type d ), které byly změněny během posledních dvou minut, nikoli soubory (-type f ). Propojení výstupu -ls na grep by obvykle hledali ve vygenerovaných názvech souborů mystring . V tomto případě však -R flag změní chování grep a ignoruje váš seznam názvů souborů a místo toho prohledává každý soubor v aktuálním adresáři a pod ním.

Rozdělme tedy problém na dvě části

  1. Vyhledejte naposledy upravené soubory za poslední 2 minuty ve svém domovském adresáři

    find ~ -type f -mmin -2
    
  2. [Files], které obsahují určitý řetězec

    grep -Fl 'certain String' {files...}
    

Nyní je musíte dát dohromady. {} je zástupný symbol pro názvy souborů generované find z kroku 1 a koncové + označuje, že {} lze opakovat vícekrát , tj. několik názvů souborů

    find ~ -type f -mmin -2 -exec grep -Fl 'certain String' {} +

Změna grep na echo grep vám ukáže, co spouští find příkaz; toto může být užitečná technika ladění:

    find ~ -type f -mmin -2 -exec echo grep -Fl 'certain String' {} +

Zvažte prosím spuštění man find a man grep abyste zjistili, jaké jsou různé možnosti, jako je -F a -l v grep -Fl , protože jinak se ze cvičení, které jste si stanovili, nic nenaučíte; právě kopírujete odpověď.


Debian
  1. Grep pro více řetězců v souborech a pak seznam souborů v pořadí velikosti?

  2. Jak používat Gui k hledání souborů v Gnome?

  3. Přesunout pouze posledních 8 souborů v adresáři do jiného adresáře?

  1. Tajemné .adresáře v domovském adresáři?

  2. Jak najít soubory upravené za posledních 30 dní v Linuxu?

  3. linux:hledání souborů typu *.php, které byly nedávno upraveny

  1. Rychlý způsob, jak vyhledat určité řádky kódu prostřednictvím mnoha souborů v projektu

  2. grep najít soubory, které obsahují řetězec delší než x znaků?

  3. Jak hledat slovo v celém obsahu adresáře v linuxu