Bashová slučka medzi súbormi v adresári

Bash Loop Through Files Directory



V Ubuntu, vrátane Bash, slučky umožnili použiť operácie na viacerých súboroch. Opakovanie je najefektívnejšia vec, pretože umožňuje používateľovi opakovane použiť rovnakú položku na položku pomocou malého riadku kódu.

Aby ste pochopili koncept opakovania súborov v adresári, potrebujete prístup k aplikácii a službám Ubuntu. Keď máte nejaké oprávnenia, môžete pracovať iba so súbormi a adresármi.







Mali ste mať nainštalovaný Bash v operačnom systéme Ubuntu. V niektorých inštaláciách je predvolene nainštalovaný v aktualizácii balíkov. Ak je už nainštalovaný, musíte aktualizovať verziu, pretože musí byť nad 4. Ak chcete pokračovať v aktuálnom sprievodcovi, musíte udržať verziu nad 4. Na kontrolu verzie predinštalovaného Bash vo vašom systéme použite príkaz na termináli Ubuntu.



$Bash--verzia



Na súboroch a adresároch teda musíte vykonávať niektoré funkcie. Nasledujúce vysvetlené príkazy môžete vykonať v ľubovoľnom adresári podľa vášho výberu. Ale aby sme boli presní, je lepšie vytvoriť nový adresár, aby všetky jeho položky boli priamo dostupné, keď ho otvoríte.





Úplne prvým krokom je vytvorenie adresára. Prevzali sme vzorový názov adresára abc. Vytvorte adresár vykonaním príkazu.

$mkdirabc



Po vytvorení adresára teraz musíte vykonať všetky príkazy. Po vytvorení adresára teda prepnite na daný adresár. Použite nižšie citovaný príkaz:

$CDabc

Po prechode do adresára vytvorte niekoľko súborov pomocou príkazu touch.

$dotýkať sasúbor1.txt

Na vytvorenie súboru v Ubuntu sa používa mnoho metód. Okrem dotykového príkazu sme tu použili príkaz echo na vytvorenie súboru a hromadné pridanie obsahu do neho jediným príkazom:

$zahodilLinux, ubuntu, Postgresql>file7.txt

Tento súbor je vytvorený v jednoduchom adresári, ktorý je v predvolenom nastavení spustený. Takže názov novovytvoreného adresára nie je pridaný s príkazovým riadkom. Súbory môžete vytvárať aj pomocou rozsahu a rozšírenia v dotykovom príkaze.

$dotýkať sasúbor-{1..8}.TXT

Použitím tohto príkazu v nových súboroch prípony .txt sa vytvoria jediným príkazom.

Potom môžete teraz prechádzať novo vytvoreným adresárom. Zobrazte názvy súborov. Pretože musíme prechádzať súbormi prítomnými v adresári, potrebujeme slučku. Slučky sa veľmi efektívne používajú, pretože načítavajú údaje v kratšom čase a vyžadujú menší vstup. Tu použijeme slučku for. Použitím tejto slučky sa v nasledujúcom riadku zobrazí názov každého súboru.

$pre súbor v *;urobiť zahodil $ súbor;hotový

* sa používa pre všetky súbory prítomné v tomto adresári. To umožňuje slučke „for“ zachytiť všetky súbory. Aby bol však výstup presný, môžete pridať niekoľko výrazov so znakom hviezdičky. Napríklad „súbor-*“ sa používa pre všetky súbory, ktoré začínajú zo súboru. A *.txt na načítanie súborov s príponami .txt. Tieto príklady použijeme ďalej v článku.

Táto slučka bude fungovať tak, že vyberie všetky súbory z adresára a potom všetky súbory zobrazí pomocou príkazu echo. Znak $ tu predstavuje názov súboru. Z výsledku môžete vidieť, že je zobrazený každý názov súboru.

Po overení súborov vytvorených zobrazením názvov súborov je čas zadať hodnotu do súborov, pretože vytvorené súbory sú prázdne. To sa dá urobiť ručne tak, že každý súbor otvoríte v textovom editore a potom napíšete údaje. Druhou možnosťou je zadať údaje do každého súboru pomocou príkazu v termináli. Vyžaduje si to však čas na zadanie údajov do každého súboru jediným príkazom pre každý súbor. To sa však dá urobiť ľahko a spoločne pomocou cyklu for v jednom príkaze.

$pre súbor v *;urobiť zahodil -2 $ súbor nLinux Ubuntu> $ súbor;hotový

Po vykonaní príkazu bola hodnota zadaná v každom súbore, ktorý sme vytvorili. Pri použití s ​​echom zachová príznak „-e“ nový riadok v súbore. Ak chcete zobraziť zadané údaje, môžete prejsť do adresára „abc“. Teraz otvorte ľubovoľný textový súbor. Súbor už nie je prázdny.

„$ File zobrazí názov súboru ako prvý v súbore a údaje, ktoré ste zadali, sa zobrazia v druhom riadku, pretože n slúži na presun nasledujúcich slov na nasledujúci riadok. Údaje zadané pomocou príkazu môžete tiež skontrolovať.

$pre súbor v *;urobiť kat $ súbor;hotový

Príkaz Cat sa používa na načítanie údajov prítomných vo všetkých súboroch adresára.

Postup zadávania údajov a ich načítania je možné vykonať jediným príkazom.

$pre súbor v *;urobiť zahodil-A$ súbor nbash programovanie> $ súbor;kat $ súbor;hotový

Prvým krokom je zapísať údaje do súboru a potom ich zobraziť. Keď spustíte príkaz, výstup bude nasledujúci:

Každý súbor obsahuje rovnakú hodnotu. Je to kvôli slučke „for“.

Poznáme slučku na načítanie údajov a vkladanie hodnôt atď., Ale slučka sa používa aj na vytváranie záloh. Tieto súbory majú na konci príponu .bak. Teraz spustite príkaz zálohovania v shelle, aby ste videli zálohu každého súboru.

$pre súbor v *;urobiť cp $ súbor $ súbor.zad;hotový;

Kľúčové slovo cp sa používa na zálohovanie všetkých súborov. Teraz vidieť súbory, na ktoré je tento príkaz použitý. Príkaz používame ako:

$ls-

Teraz je z výstupu zrejmé, že sú zobrazené detaily súborov. Dátum, názov súboru, používateľské meno a čas, kedy boli odstránené. Tiež máte presnú kópiu každého súboru.

Ak chceme iba súbory jpeg. Toto použijeme v príkaze

$pre súbor v *.jpeg;urobiť zahodil $ súbor;hotový

To prinesie iba názvy obrázkov.

Rovnakú funkciu môže vykonávať aj jednoduchý nález. Načíta všetky súbory s príponou .sh.

$Nájsť. - názov*sh

Použijeme kľúčové slovo nájsť v slučke for.

$pre súbor v *;urobiťNájsť. Súbor.*;hotový

Tým sa všetky súbory dostanú do aktuálneho adresára. Majú prípony .bak, .jpeg, .txt. atď.

Teraz, ak chcete vidieť názov všetkých súborov adresárov a údaje v nich, urobí to aj slučka „for“.

$pre súbor v *;urobiť súbor $ súbor;hotový

Záver

Opakovanie súborov v ľubovoľnom adresári už nie je ťažké, ako vieme, používanie slučiek v Bash a výkon v operačných systémoch Linux. Tento tutoriál je kompletným sprievodcom vytváraním, prístupom a vykonávaním operácií v adresári pomocou slučky „for“.