Bash преглежда файлове в директория

Bash Loop Through Files Directory



В Ubuntu, включително Bash, контурите направиха възможно прилагането на операции върху множество файлове. Циклирането е най-ефективното нещо, тъй като позволява на потребителя да прилага една и съща логика към елемента многократно, като използва малък код-ред.

За да разберете концепцията за прескачане на файлове в директорията, имате нужда от достъп до приложението и услугите на Ubuntu. Когато имате някои привилегии, можете да работите само с файлове и директории.







Трябваше да инсталирате Bash на операционната система Ubuntu. При някои инсталации се инсталира по подразбиране при актуализиране на пакети. Ако вече е инсталирана, трябва да надстроите версията, защото тя трябва да е над 4. За да продължите текущото ръководство, трябва да запазите версията по-горе 4. За да проверите версията на предварително инсталирания Bash във вашата система, използвайте команда на терминала на Ubuntu.



$Баш--версия



Така че трябва да изпълнявате някои функции върху файлове и директории. Можете да изпълнявате обяснените по -долу команди във всяка директория по ваш избор. Но за да бъдем точни, за предпочитане е да се създаде нова директория, така че всички принадлежности към нея да са лесно достъпни, когато я отворите.





Първата стъпка е да създадете директория. Взехме примерно име на директорията abc. Създайте директория, като изпълните командата.

$mkdirabc



След като създадете директорията, сега трябва да изпълните всички команди върху нея. Така че след създаването на директорията преминете към тази директория. Използвайте по-долу цитираната команда:

$CDabc

След като отидете в директорията, сега създайте някои файлове с помощта на командата touch.

$докосванеfile1.txt

Много методи се използват за създаване на файл в Ubuntu. Освен командата touch, ние използвахме командата echo тук, за да създадем файл и да добавим съдържанието в него заедно в една команда:

$изхвърленLinux, ubuntu, Postgresql>file7.txt

Този файл е създаден в проста директория, която понастоящем работи по подразбиране. Така че името на новосъздадената директория не се добавя с командния ред. Можете също да създавате файлове, като използвате диапазон и разширение в командата за докосване.

$докосванефайл-{1..8}.текст

С помощта на тази команда в нови файлове с .txt разширения ще бъдат създадени с помощта на една команда.

След това вече можете да преминете през новосъздадената директория. Показване на имената на файловете. Тъй като трябва да преминем през файловете, присъстващи в директорията, имаме нужда от цикъл. Цикли са много ефективни за използване, тъй като те извличат данните за по -малко време, изисквайки по -малко въвеждане. Тук ще използваме цикъл for. Използвайки този цикъл, всяко име на файл ще бъде показано в следващия ред.

$за файл в *;направете изхвърлен $ файл;Свършен

* се използва за всички файлове, присъстващи в тази директория. Това позволява на цикъла „for“ да вземе всички файлове. Но за да направите изхода точен, можете да добавите някои термини със звездичка. Например „файл-*“ се използва за всички файлове, които започват от файла. И *.txt за извличане на файловете с разширения .txt. Ще използваме тези примери по -нататък в статията.

Този цикъл ще работи така, че да извлича всички файлове от директорията и след това да показва всички файлове чрез командата echo. Знакът $ тук представлява името на файла. От резултата можете да видите, че всяко име на файл се показва.

След като проверите файловете, създадени чрез показване на имената на файловете, сега е време да въведете стойността във файловете, защото създадените файлове са празни. Това може да стане ръчно, като отворите всеки файл в текстовия редактор и след това напишете данните. Втората опция е да въведете данни във всеки файл чрез командата в терминала. Но това изисква време за въвеждане на данните във всеки файл чрез една команда за всеки файл. Но това може да се направи лесно и колективно, като се използва цикъл for в една команда.

$за файл в *;направете изхвърлен -2 $ файл nLinux Ubuntu> $ файл;Свършен

След изпълнението на командата стойността е въведена във всеки създаден от нас файл. Когато се използва с ехо, флагът „-e“ ще запази новия ред във файла. За да видите въведените данни, можете да отидете в директорията „abc“. Сега отворете всеки текстов файл. Файлът вече не е празен.

„$ File ще покаже името на файла първо във файла, а въведените от вас данни ще бъдат визуализирани на втория ред, защото n се използва за преместване на думите, използвани след това, на друг ред. Можете също да проверите данните, въведени чрез командата.

$за файл в *;направете котка $ файл;Свършен

Командата Cat се използва за извличане на данните, присъстващи във всички файлове на директорията.

Както процедурата за въвеждане на данните, така и за извличането им може да се извърши чрез една команда.

$за файл в *;направете изхвърлен$ файл nпрограмиране на bash> $ файл;котка $ файл;Свършен

Първата стъпка е да запишете данните във файла и след това да ги покажете. Когато изпълните командата, резултатът ще бъде както следва:

Всеки файл съдържа една и съща стойност. Това се дължи на цикъла „for“.

Знаем цикъла за извличане на данните и вмъкване на стойностите и т.н., но цикълът се използва и за създаване на резервни копия. Тези файлове имат разширение .bak в края. Сега изпълнете командата за архивиране в черупката, за да видите архива на всеки файл.

$за файл в *;направете cp $ файл $ файл.зад;Свършен;

Ключовата дума cp се използва за архивиране на всички файлове. Сега, за да видите файловете, върху които се прилага тази команда. Използваме командата като:

$ls-

Сега от изхода се вижда, че се показват детайлите на файловете. Дата, име на файл, потребителско име и час, също когато са били изтрити. Освен това имате точно копие на всеки файл.

Ако искаме само jpeg файлове. Ще използваме това в командата

$за файл в *.jpeg;направете изхвърлен $ файл;Свършен

Това ще донесе само имената на изображенията.

Една проста находка също може да изпълнява същата функция. Той ще извлече всички файлове с разширение .sh.

$намирам. - име*ш

Ще използваме ключовата дума find в цикъла for.

$за файл в *;направетенамирам. Файл.*;Свършен

Това ще доведе всички файлове в текущата директория. Те имат разширения на .bak, .jpeg, .txt. и т.н.

Сега, ако искате да видите името на всички файлове на директорията и данните в тях, това се прави и от цикъла „for“.

$за файл в *;направете файл $ файл;Свършен

Заключение

Преглеждането на файлове във всяка директория вече не е трудно, както знаем, като използваме цикли в Bash и изпълняваме в операционните системи Linux. Този урок е пълно ръководство за създаване, достъп и извършване на операции в директорията с помощта на цикъл „за“.