Bash loop gjennom kataloger rekursivt

Bash loop gjennom kataloger rekursivt
Bash Shell er et utrolig verktøy som tilbyr mye terminal letthet og funksjonalitet. Denne raske opplæringen skal diskutere forskjellige måter å sløyfe gjennom kataloger og utføre visse funksjoner rekursivt.

Bash for loop

For å oppnå en rekursiv sløyfe gjennom kataloger, vil vi bruke bash -løkker, spesielt en for en løkke.

For Loop er en vanlig type sløyfe i bash og andre programmeringsspråk. Det itererer over en gitt liste over elementer/alternativer til og utfører et sett med kommandoer.

Den generelle syntaksen for for Loop -kommandoen er:

For jeg i listen
gjøre
[KOMMANDO]
gjort;

Her er et eksempel på en bash loop er:

#/bin/bash
for jeg i 0… 10
gjøre
ekko '$'
Ferdig

Ovennevnte sløyfe skriver ut verdier fra 0 til 10.

Bash brukerinngang

Deretter må vi be brukeren om at en gyldig katalog skal sløyfe. For å godta brukerinngang, bruker vi Echo -kommandoen i bash.

For eksempel:

#!/bin/bash
ekko “Skriv inn katalogen”
Les Dir
CD $ dir
ekko "nå i /etc"

Flytt filer (bash -skript)

Med konseptene løkker og brukerinngang ut av veien, kan vi sette sammen skallet vårt. Den første operasjonen er å finne filer rekursivt med spesifikke utvidelser og flytte dem.

Her er et eksempelskript for det:

#/bin/bash
ekko “Enter Dir”
Les Dir
Ekko “Gå inn i destinasjonen”
Les dest
for jeg i $ (finn $ dir -navn '*.Logg');
gjøre
mv -v $ i $ dest
gjort;

Skriptet vil be brukeren om en katalog og deretter søke etter en spesifikk utvidelse. Den vil deretter flytte filene til den spesifiserte destinasjonen.

Slett filer

Skriptet over kan også endres for å slette filer i stedet for å flytte dem. Et eksempel er som

#/bin/bash
ekko "Enter Dir"
Les Dir
for jeg i $ (finn $ dir -navn '*.Logg');
gjøre
rm -rf $ i
gjort;

Skriv ut filer

For å skrive ut filene i en katalog, bruk skriptet som:

#/bin/bash
ekko “Enter Dir”
Les Dir
CD $ dir
for jeg i $ (finn $ dir -type f);
gjøre
ekko $ i;
gjort;

Konklusjon

Ovennevnte er eksempel skript du kan bruke til å sløyfe kataloger og utføre en spesifikk handling. Det er godt å merke seg at det er verktøy som er utviklet for å utføre slike oppgaver, men et manus er en god vei å gå hvis du ikke finner et passende verktøy.