Bash smyčka přes soubory v adresáři

Bash Loop Through Files Directory



V Ubuntu, včetně Bash, smyčky umožnily aplikovat operace na více souborů. Smyčka je nejúčinnější, protože umožňuje uživateli opakovaně použít stejnou logiku na položku pomocí malého řádku kódu.

Abyste porozuměli konceptu opakování souborů v adresáři, potřebujete přístup k aplikaci a službám Ubuntu. Když máte nějaká oprávnění, můžete pracovat pouze se soubory a adresáři.







Měli jste mít nainstalovaný Bash na operačním systému Ubuntu. V některých instalacích je ve výchozím nastavení nainstalován v aktualizaci balíčků. Pokud je již nainstalován, musíte upgradovat verzi, protože musí být vyšší než 4. Chcete-li pokračovat v aktuálním průvodci, musíte verzi udržet nad 4. Chcete-li zkontrolovat verzi předinstalovaného Bash ve vašem systému, použijte příkaz na terminálu Ubuntu.



$Bash--verze



Na souborech a adresářích tedy musíte provádět některé funkce. Níže vysvětlené příkazy můžete provést na libovolném adresáři podle vašeho výběru. Ale abychom byli přesní, je lepší vytvořit nový adresář, aby všechny jeho věci byly přímo přístupné, když ho otevřete.





Úplně prvním krokem je vytvoření adresáře. Vzali jsme ukázkový název adresáře abc. Vytvořte adresář spuštěním příkazu.

$mkdirabc



Po vytvoření adresáře nyní musíte provést všechny příkazy. Po vytvoření adresáře tedy přepněte do tohoto adresáře. Použijte níže citovaný příkaz:

$CDabc

Poté, co přejdete do adresáře, vytvořte nyní některé soubory pomocí dotykového příkazu.

$doteksoubor1.txt

K vytvoření souboru v Ubuntu se používá mnoho metod. Kromě dotykového příkazu jsme zde použili příkaz echo k vytvoření souboru a souhrnnému přidání obsahu do něj jediným příkazem:

$vyhodilLinux, ubuntu, Postgresql>soubor7.txt

Tento soubor je vytvořen v jednoduchém adresáři, který je aktuálně spuštěn ve výchozím nastavení. Název nově vytvořeného adresáře tedy není přidán pomocí příkazového řádku. Soubory můžete také vytvářet pomocí rozsahu a rozšíření v dotykovém příkazu.

$doteksoubor-{1..8}.txt

Použitím tohoto příkazu v nových souborech přípony .txt budou vytvořeny pomocí jediného příkazu.

Poté můžete nyní procházet nově vytvořeným adresářem. Zobrazit názvy souborů. Protože musíme procházet soubory přítomné v adresáři, potřebujeme smyčku. Smyčky se velmi efektivně používají, protože načítají data za kratší dobu a vyžadují menší vstup. Zde použijeme smyčku for. Pomocí této smyčky se každý název souboru zobrazí na dalším řádku.

$pro soubor v *;dělat vyhodil $ soubor;Hotovo

* se používá pro všechny soubory přítomné v tomto adresáři. To umožňuje smyčce „for“ zachytit všechny soubory. Ale aby byl výstup přesný, můžete přidat několik výrazů se znaménkem hvězdičky. Například „soubor-*“ se používá pro všechny soubory, které začínají ze souboru. A *.txt pro načtení souborů, které mají přípony .txt. Tyto příklady použijeme dále v článku.

Tato smyčka bude fungovat tak, že načte všechny soubory z adresáře a poté všechny soubory zobrazí pomocí příkazu echo. Znak $ zde představuje název souboru. Z výsledku můžete vidět, že je zobrazen každý název souboru.

Po ověření souborů vytvořených zobrazením názvů souborů je čas zadat hodnotu do souborů, protože vytvořené soubory jsou prázdné. To lze provést ručně otevřením každého souboru v textovém editoru a následným zápisem dat. Druhou možností je zadat data do každého souboru pomocí příkazu v terminálu. Vyžaduje však čas na vložení dat do každého souboru jediným příkazem pro každý soubor. Lze to však provést snadno a společně pomocí smyčky for v jediném příkazu.

$pro soubor v *;dělat vyhodil -2 $ soubor nLinux Ubuntu> $ soubor;Hotovo

Po provedení příkazu byla hodnota zadána v každém souboru, který jsme vytvořili. Při použití s ​​echo zachová příznak „-e“ nový řádek v souboru. Chcete -li zobrazit zadaná data, můžete přejít do adresáře „abc“. Nyní otevřete libovolný textový soubor. Soubor již není prázdný.

‘$ File nejprve zobrazí název souboru v souboru a data, která jste zadali, se zobrazí na druhém řádku, protože n slouží k přesunu použitých slov na jiný řádek. Můžete také zkontrolovat data zadaná pomocí příkazu.

$pro soubor v *;dělat kočka $ soubor;Hotovo

Příkaz Cat se používá k načtení dat přítomných ve všech souborech adresáře.

Postup zadávání dat a jejich načítání lze provést jediným příkazem.

$pro soubor v *;dělat vyhodil-A$ soubor nbash programování> $ soubor;kočka $ soubor;Hotovo

Prvním krokem je zapsat data do souboru a poté je zobrazit. Když spustíte příkaz, výstup bude následující:

Každý soubor obsahuje stejnou hodnotu. Důvodem je smyčka „for“.

Známe smyčku pro načítání dat a vkládání hodnot atd., Ale smyčka se také používá k vytváření záloh. Tyto soubory mají na konci příponu .bak. Nyní spusťte příkaz zálohování v shellu, abyste viděli zálohu každého souboru.

$pro soubor v *;dělat cp $ soubor $ soubor.za;Hotovo;

Klíčové slovo cp slouží k zálohování všech souborů. Nyní se podívejte na soubory, na které je tento příkaz aplikován. Příkaz používáme jako:

$ls-

Nyní je z výstupu vidět, že jsou zobrazeny detaily souborů. Datum, název souboru, uživatelské jméno a čas, kdy byl odstraněn. Také máte přesnou kopii každého souboru.

Pokud chceme pouze soubory jpeg. To použijeme v příkazu

$pro soubor v *.jpeg;dělat vyhodil $ soubor;Hotovo

To přinese pouze názvy obrázků.

Stejnou funkci může vykonávat i jednoduchý nález. Načte všechny soubory s příponou .sh.

$nalézt. - název*sh

Použijeme klíčové slovo find ve smyčce for.

$pro soubor v *;dělatnalézt. Soubor.*;Hotovo

Tím se přenesou všechny soubory do aktuálního adresáře. Mají přípony .bak, .jpeg, .txt. atd.

Pokud nyní chcete vidět název všech souborů adresářů a data v nich, provádí to také smyčka „for“.

$pro soubor v *;dělat soubor $ soubor;Hotovo

Závěr

Jak víme, procházení souborů v libovolném adresáři již není obtížné, jak víme, pomocí smyček v Bash a provádění v operačních systémech Linux. Tento tutoriál je úplným průvodcem k vytváření, přístupu a provádění operací v adresáři pomocí smyčky „for“.