Zoekopdracht gebruiken in Bash-script

Zoekopdracht Gebruiken In Bash Script



Bash is een populaire Unix-shell, die veel wordt gebruikt voor het automatiseren van repetitieve taken en het uitvoeren van verschillende bewerkingen. Een van de handigste functies van de bash-shell is de opdracht find. Met de opdracht find kunt u zoeken naar bestanden of mappen die voldoen aan specifieke criteria, zoals naam, grootte of wijzigingstijd. Dit artikel bespreekt enkele manieren waarop u de opdracht find in een bash-script kunt gebruiken.

1: Bestanden zoeken op basis van naam - Bash

Het meest gebruikelijke gebruik van de opdracht find is om bestanden te lokaliseren op basis van hun naam, u kunt de -naam optie om de bestandsnaam op te geven waarnaar u zoekt. De volgende opdracht kan bijvoorbeeld worden gebruikt om alle bestanden in de huidige map te vinden met de uitdrukking 'bashfile' in de naam:

#!/bin/bash

vinden . -naam '* *'

De '*' wordt gebruikt als een wildcard-teken dat overeenkomt met elk teken, hier heb ik gezocht naar de bestanden met de naam 'bashfile' in de huidige map:







  Tekstbeschrijving automatisch gegenereerd



2: Bestanden zoeken op basis van type - Bash

Een andere manier om bestanden te vinden met behulp van de opdracht find is door de -type argument om naar bestanden van een opgegeven soort te zoeken, bijvoorbeeld om alle mappen in de huidige directory te vinden.



#!bin/bash

vinden . -type D





Evenzo kunt u de volgende opdracht gebruiken om alle reguliere bestanden te vinden:

#!bin/bash

vinden . -type F



3: Bestanden zoeken op basis van grootte - Bash

Om bestanden te vinden op basis van hun grootte, kunt u de -maat optie om bijvoorbeeld alle bestanden in de huidige map te krijgen die kleiner zijn dan 1 MB, kunt u het volgende script gebruiken:

#!bin/bash

vinden . -maat - < bestandsgrootte-MB >

  Tekstbeschrijving automatisch gegenereerd

Evenzo, als u wilt zoeken naar bestanden waarvan de grootte groter is dan 1 MB, gebruik dan de onderstaande code:

#!bin/bash

vinden . -maat + < bestandsgrootte-MB >

  Tekstbeschrijving automatisch gegenereerd

4: Bestanden zoeken op basis van wijzigingstijd - Bash

Een andere manier om de opdracht find te gebruiken, is door de bestanden te zoeken op basis van hun wijzigingstijd met behulp van de -mtijd keuze. Ter illustratie heb ik gezocht naar het bestand dat de afgelopen twee dagen is gewijzigd en is het shell-script dat ik heb gebruikt:

#!/bin/bash

vinden . -mtijd -2

De '-2' geeft aan dat de bestanden in de afgelopen 2 dagen moeten zijn gewijzigd:

5: Bestanden zoeken op basis van eigendom - Bash

U kunt de -gebruiker optie om bestanden te vinden op basis van hun eigenaar, zoals om alle bestanden in de huidige map te vinden die eigendom zijn van de gebruiker, kunt u de volgende opdracht gebruiken:

#!/bin/bash

vinden . -gebruiker < gebruikersnaam >

Als u de bestanden die u zoekt hebt gevonden, wilt u er misschien enkele acties op uitvoeren, zoals ze verwijderen of naar een andere locatie kopiëren:

Conclusie

Het zoekcommando is een krachtige tool die u kan helpen bij het zoeken naar bestanden op basis van verschillende criteria. Door verschillende opties te combineren, kunt u complexe zoekpatronen maken waarmee u de bestanden kunt vinden die u nodig hebt. Bestanden kunnen worden gevonden met behulp van de opdracht find, afhankelijk van hun naam, type, gebruikersgroep, grootte en de datum waarop ze zijn bijgewerkt.