Bash loop gennem filer i et bibliotek

Bash Loop Through Files Directory



I Ubuntu, herunder Bash, har loops gjort det muligt at anvende operationer på flere filer. Looping er det mest effektive, da det giver brugeren mulighed for at anvende den samme logik på elementet gentagne gange ved hjælp af en lille kode-linje.

For at forstå begrebet looping over filer i biblioteket, har du brug for adgang til Ubuntu -applikationen og -tjenester. Når du har nogle privilegier, kan du kun operere med filer og mapper.







Du skulle have installeret Bash på Ubuntu -operativsystemet. I nogle installationer er det installeret som standard i opdateringen af ​​pakker. Hvis den allerede er installeret, skal du opgradere versionen, fordi den skal være over 4. For at fortsætte den aktuelle vejledning skal du beholde versionen ovenfor 4. For at kontrollere versionen af ​​den forudinstallerede Bash i dit system, skal du bruge kommando på Ubuntu -terminalen.



$Bash--version



Så du skal udføre nogle funktioner på filer og mapper. Du kan udføre nedenstående forklarede kommandoer i en hvilken som helst mappe efter eget valg. Men for at være præcis, er det at foretrække at oprette en ny mappe, så alle disse ejendele er let tilgængelige, når du åbner den.





Det allerførste trin er at oprette et bibliotek. Vi har taget et eksempel på biblioteket abc. Opret et bibliotek ved at udføre kommandoen.

$mkdirabc



Efter oprettelse af biblioteket skal du nu udføre alle kommandoer på det. Så efter oprettelsen af ​​biblioteket skal du skifte til det bibliotek. Brug kommandoen nedenfor:

$CDabc

Efter at have gået til biblioteket, skal du nu oprette nogle filer ved hjælp af kommandoen touch.

$røre vedfile1.txt

Mange metoder bruges til at oprette en fil i Ubuntu. Udover berøringskommandoen har vi brugt ekkokommandoen her til at oprette en fil og tilføje indholdet i den samlet i en enkelt kommando:

$smed udLinux, ubuntu, Postgresql>file7.txt

Denne fil oprettes i et simpelt bibliotek, der i øjeblikket kører som standard. Så navnet på den nyoprettede mappe tilføjes ikke med kommandoprompten. Du kan også oprette filer ved hjælp af en rækkevidde og udvidelse i touch -kommandoen.

$røre vedfil-{1..8}.txt

Ved at bruge denne kommando i nye filer med .txt -udvidelser vil blive oprettet ved hjælp af en enkelt kommando.

Efter det kan du nu gå igennem den bibliotek, der er nyoprettet. Vis filnavnene. Da vi skal sløjfe gennem filerne i biblioteket, har vi brug for en loop. Loops er meget effektive at bruge, da de henter dataene på kortere tid, hvilket kræver mindre input. Her vil vi bruge en for loop. Ved at bruge denne sløjfe vil hvert filnavn blive vist i den næste linje.

$til fil i *;gøre smed ud $ fil;Færdig

* bruges til alle filerne i dette bibliotek. Dette gør det muligt for 'for' -løkken at gribe alle filerne. Men for at gøre output præcis kan du tilføje nogle termer med stjernetegnet. For eksempel bruges 'file-*' til alle de filer, der starter fra filen. Og *.txt for at hente de filer, der har .txt -udvidelser. Vi vil bruge disse eksempler yderligere i artiklen.

Denne sløjfe fungerer, så den henter alle filerne fra biblioteket og derefter viser alle filerne via ekkokommandoen. $ -Tegnet her repræsenterer navnet på filen. Fra resultatet kan du se, at hvert filnavn vises.

Efter at have verificeret de filer, der er oprettet ved at vise filnavne, er det nu tid til at indtaste værdien i filerne, fordi de oprettede filer er tomme. Dette kan gøres manuelt ved at åbne hver fil i teksteditoren og derefter skrive dataene. Den anden mulighed er at indtaste data i hver fil via kommandoen i terminalen. Men det kræver tid at indtaste dataene i hver fil via en enkelt kommando for hver fil. Men det kan gøres let og samlet ved at bruge for loop i en enkelt kommando.

$til fil i *;gøre smed ud -2 $ fil nLinux Ubuntu> $ fil;Færdig

Efter udførelsen af ​​kommandoen er værdien blevet indtastet i hver fil, vi har oprettet. Når det bruges med ekko, bevarer '-e' -flaget den nye linje i filen. For at se de indtastede data kan du navigere til 'abc' -biblioteket. Åbn nu enhver tekstfil. Filen er ikke tom længere.

‘$ -Filen viser filnavnet først i filen, og de data, du har indtastet, vil blive vist på forhånd på den anden linje, fordi n bruges til at flytte de ord, der bruges efter dette, til en anden linje. Du kan også kontrollere de indtastede data via kommandoen.

$til fil i *;gøre kat $ fil;Færdig

Cat -kommando bruges til at hente de data, der er til stede i alle filerne i biblioteket.

Både proceduren for indtastning af data og hentning af dem kan udføres via en enkelt kommando.

$til fil i *;gøre smed ud-Og$ fil nbash programmering> $ fil;kat $ fil;Færdig

Det første trin er at skrive dataene i filen og derefter vise dem. Når du udfører kommandoen, vil output være som følger:

Hver fil indeholder den samme værdi. Dette er på grund af 'for' -løkken.

Vi kender sløjfen til at hente data og indsætte værdier osv., Men sløjfen bruges også til at oprette sikkerhedskopier. Disse filer har udvidelsen .bak i slutningen. Udfør nu backup -kommandoen i skallen for at se sikkerhedskopien af ​​hver fil.

$til fil i *;gøre cp $ fil $ fil.bag;Færdig;

CP -søgeordet bruges til at sikkerhedskopiere alle filerne. Nu for at se de filer, som denne kommando anvendes på. Vi bruger kommandoen som:

$ls- det

Nu er det synligt fra output, at detaljerne i filerne vises. Dato, filnavn, brugernavn og tidspunkt, hvor det blev slettet. Du har også en nøjagtig kopi af hver fil.

Hvis vi kun vil have jpeg -filerne. Vi vil bruge dette i kommandoen

$til fil i *.jpeg;gøre smed ud $ fil;Færdig

Dette bringer kun navnene på billederne.

Et simpelt fund kan også udføre den samme funktion. Det vil hente alle filerne med en udvidelse af .sh.

$Find. - navn*sh

Vi vil bruge søgeordet find i for en loop.

$til fil i *;gøreFind. Fil.*;Færdig

Dette vil bringe alle filerne til det aktuelle bibliotek. Disse har udvidelser af .bak, .jpeg, .txt. etc.

Nu, hvis du vil se navnet på alle biblioteksfilerne og dataene i dem, gøres dette også med 'for' -løkken.

$til fil i *;gøre fil $ fil;Færdig

Konklusion

At sløjfe gennem filerne i en hvilken som helst mappe er ikke længere svært, som vi ved, ved at bruge loops i Bash og udføre på Linux -operativsystemerne. Denne vejledning er en komplet vejledning til oprettelse, adgang til og udførelse af operationer i biblioteket ved hjælp af en 'for' loop.