Cum se utilizează comanda find pentru a căuta mai multe nume de fișiere (extensii) în Linux


De multe ori, suntem blocați într-o situație în care trebuie să căutăm mai multe fișiere cu extensii diferite, probabil că acest lucru s-a întâmplat mai multor utilizatori Linux în special din interiorul terminalului.

Există mai multe utilitare Linux pe care le putem folosi pentru a localiza sau găsi fișiere pe sistemul de fișiere, dar găsirea mai multor nume de fișiere sau fișiere cu extensii diferite se poate dovedi uneori dificilă și necesită comenzi specifice.

Unul dintre numeroasele utilitare pentru localizarea fișierelor pe un sistem de fișiere Linux este utilitarul find și, în acest ghid, vom parcurge câteva exemple de utilizare a find pentru ajutați-ne să găsim mai multe nume de fișiere simultan.

Înainte de a ne aprofunda în comenzile reale, să ne uităm la o scurtă introducere a utilitarului Linux find.

Sintaxa cea mai simplă și generală a utilitarului find este următoarea:

# find directory options [ expression ]

Să continuăm să privim câteva exemple de comandă find în Linux.

1. Presupunând că doriți să găsiți toate fișierele din directorul curent cu extensiile de fișiere .sh și .txt, puteți face acest lucru rulând comanda de mai jos:

# find . -type f \( -name "*.sh" -o -name "*.txt" \)

Interpretarea comenzii de mai sus:

  1. . înseamnă directorul curent
  2. Opțiunea
  3. -type este folosită pentru a specifica tipul de fișier și aici, căutăm fișiere obișnuite, așa cum sunt reprezentate de f
  4. Opțiunea
  5. -name este utilizată pentru a specifica un model de căutare în acest caz, extensiile de fișiere
  6. -o înseamnă „SAU”

Se recomandă să includeți extensiile de fișiere între paranteze și, de asemenea, să utilizați caracterul de escape \ ( bară oblică inversă) ca în comandă.

2. Pentru a găsi trei nume de fișiere cu extensiile .sh, .txt și .c, lansați comanda de mai jos:

# find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

3. Iată un alt exemplu în care căutăm fișiere cu .png, .jpg, .deb și < extensii.pdf:

# find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

Când observați în mod critic toate comenzile de mai sus, micul truc este să utilizați opțiunea -o din comanda find, vă permite să adăugați mai multe nume de fișiere la matricea de căutare și știind, de asemenea, numele de fișiere sau extensiile de fișiere pe care le căutați.

Concluzie

În acest ghid, am acoperit un truc simplu, dar util, găsește utilitar care ne permite să găsim mai multe nume de fișiere lansând o singură comandă. Pentru a înțelege și utiliza find pentru multe alte operațiuni vitale ale liniei de comandă, puteți citi articolul nostru de mai jos.