Zoeken op website

Hoe u de opdracht 'find' gebruikt om naar meerdere bestandsnamen (extensies) te zoeken in Linux


Vaak zitten we vast in een situatie waarin we moeten zoeken naar meerdere bestanden met verschillende extensies. Dit is waarschijnlijk met verschillende Linux-gebruikers gebeurd, vooral vanuit de terminal.

Er zijn verschillende Linux-hulpprogramma's die we kunnen gebruiken om bestanden op het bestandssysteem te lokaliseren of te vinden, maar het vinden van meerdere bestandsnamen of bestanden met verschillende extensies kan soms lastig zijn en vereist specifieke opdrachten.

Een van de vele hulpprogramma's voor het lokaliseren van bestanden op een Linux-bestandssysteem is het hulpprogramma find en in deze handleiding zullen we enkele voorbeelden doorlopen van het gebruik van find om help ons meerdere bestandsnamen tegelijk te lokaliseren.

Voordat we dieper ingaan op de eigenlijke commando's, kijken we eerst naar een korte introductie van het Linux-hulpprogramma find.

De eenvoudigste en algemene syntaxis van het zoekprogramma is als volgt:

find directory options [ expression ]

Laten we verder gaan met het bekijken van enkele voorbeelden van de find-opdracht in Linux.

1. Ervan uitgaande dat u alle bestanden in de huidige map met de bestandsextensies .sh en .txt wilt vinden, kunt u dit doen door de onderstaande opdracht:

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

Interpretatie van het bovenstaande commando:

  1. . betekent de huidige map
  2. De optie -type wordt gebruikt om het bestandstype te specificeren en hier zoeken we naar gewone bestanden zoals weergegeven door f
  3. De optie -naam wordt gebruikt om in dit geval een zoekpatroon op te geven, de bestandsextensies
  4. -o betekent “OF ”

Het wordt aanbevolen dat u de bestandsextensies tussen haakjes plaatst en ook het escape-teken \ (back slash) gebruikt, zoals in de opdracht.

2. Om drie bestandsnamen met de extensies .sh, .txt en .c te vinden, voert u de onderstaande opdracht uit:

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

3. Hier is nog een voorbeeld waarin we zoeken naar bestanden met .png, .jpg, .deb en .pdf extensies:

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

Wanneer je alle bovenstaande commando's kritisch bekijkt, is de kleine truc het gebruik van de -o optie in het find commando, waarmee je meer bestandsnamen aan de zoekarray kunt toevoegen, en ook wetende naar welke bestandsnamen of bestandsextensies u zoekt.

Conclusie

In deze handleiding hebben we een eenvoudige maar nuttige zoekfunctie besproken waarmee we meerdere bestandsnamen kunnen vinden door één enkele opdracht uit te voeren. Om find voor veel andere essentiële opdrachtregelbewerkingen te begrijpen en te gebruiken, kunt u ons onderstaande artikel lezen.

Mis het niet: Beheers het Linux 'find'-commando met deze 35 voorbeelden