Bash ciklus a könyvtár fájljaiban

Bash Loop Through Files Directory



Az Ubuntuban, beleértve a Bash -t is, a hurkok lehetővé tették a műveletek több fájlon történő alkalmazását. A ciklus a leghatékonyabb, mivel lehetővé teszi a felhasználó számára, hogy ugyanazt a logikát ismételten alkalmazza az elemre egy kis kódsor használatával.

Ahhoz, hogy megértsük a könyvtárban lévő fájlok körüli ciklus fogalmát, hozzá kell férnünk az Ubuntu alkalmazáshoz és szolgáltatásokhoz. Ha rendelkezik bizonyos jogosultságokkal, csak fájlokkal és könyvtárakkal működhet.







Telepítenie kellett volna a Bash -t az Ubuntu operációs rendszerre. Egyes telepítéseknél alapértelmezés szerint telepítve van a csomagok frissítésekor. Ha már telepítve van, akkor frissítenie kell a verziót, mert annak 4. felett kell lennie. Az aktuális útmutató folytatásához meg kell tartania a 4. feletti verziót. Az előre telepített Bash verziójának ellenőrzéséhez használja a parancsot az Ubuntu terminálon.



$Bash--változat



Tehát bizonyos funkciókat végre kell hajtania a fájlokon és a könyvtárakon. Az alábbiakban ismertetett parancsokat tetszőleges könyvtárban végrehajthatja. De hogy pontos legyünk, előnyösebb új könyvtárat létrehozni, hogy ennek minden része közvetlenül elérhető legyen, amikor megnyitja.





A legelső lépés egy könyvtár létrehozása. Vettünk egy minta nevet az abc könyvtárból. Hozzon létre egy könyvtárat a parancs végrehajtásával.

$mkdirABC



A könyvtár létrehozása után most végre kell hajtania az összes parancsot. Tehát a könyvtár létrehozása után váltson arra a könyvtárra. Használja az alábbi parancsot:

$CDABC

Miután belépett a könyvtárba, most hozzon létre néhány fájlt az érintésparancs segítségével.

$érintésfile1.txt

Sok módszert használnak fájlok létrehozására az Ubuntuban. Az érintésparancs mellett az echo parancsot használtuk itt egy fájl létrehozásához és a benne lévő tartalom együttes hozzáadásához egyetlen parancsban:

$kidobtaLinux, ubuntu, Postgresql>file7.txt

Ez a fájl egy egyszerű könyvtárban jön létre, amely alapértelmezés szerint fut. Tehát az újonnan létrehozott könyvtár neve nem adódik hozzá a parancssorhoz. Fájlokat az érintőparancs tartományának és kiterjesztésének használatával is létrehozhat.

$érintésfájl-{1..8}.txt

Ezzel a paranccsal a .txt kiterjesztések új fájljaiban egyetlen parancs használatával hozhatók létre.

Ezt követően most ciklusban léphet át az újonnan létrehozott könyvtárba. A fájlnevek megjelenítése. Mivel át kell tekintenünk a könyvtárban található fájlokat, szükségünk van egy hurokra. A hurkok nagyon hatékonyak, mivel rövidebb idő alatt lekérik az adatokat, és kevesebb bemenetet igényelnek. Itt egy for hurkot fogunk használni. E ciklus használatával minden fájlnév megjelenik a következő sorban.

$számára fájlt ban ben *;tedd kidobta $ fájl;Kész

* a könyvtárban található összes fájlhoz használható. Ez lehetővé teszi, hogy a „for” hurok megragadja az összes fájlt. De hogy a kimenet pontos legyen, hozzáadhat néhány kifejezést csillagjellel. Például a „file-*” a fájlból induló összes fájlra használatos. És *.txt fájl .txt kiterjesztéssel rendelkező fájlok lekéréséhez. Ezeket a példákat fogjuk használni a cikkben.

Ez a ciklus úgy fog működni, hogy lehívja az összes fájlt a könyvtárból, majd megjeleníti az összes fájlt az echo paranccsal. A $ jel itt a fájl nevét jelöli. Az eredményből látható, hogy minden fájlnév megjelenik.

Miután ellenőrizte a létrehozott fájlokat a fájlok nevének megjelenítésével, most itt az ideje, hogy adja meg az értéket a fájlokban, mert a létrehozott fájlok üresek. Ezt manuálisan is megteheti úgy, hogy minden fájlt megnyit a szövegszerkesztőben, majd írja be az adatokat. A második lehetőség az, hogy minden fájlba adatokat kell bevinni a terminálon található parancs segítségével. De időbe telik, amíg az egyes fájlokban lévő adatokat be kell írni egyetlen paranccsal minden fájlhoz. De egyszerűen és kollektíven is megtehető, ha egyetlen parancsban ciklus segítségével használjuk.

$számára fájlt ban ben *;tedd kidobta -2 $ fájl nLinux Ubuntu> $ fájl;Kész

A parancs végrehajtása után az értéket minden létrehozott fájlba beírtuk. Visszhang használatakor a „-e” zászló megőrzi a fájl új sorát. A bevitt adatok megtekintéséhez navigáljon az „abc” könyvtárba. Most nyisson meg bármilyen szöveges fájlt. A fájl már nem üres.

„A $ fájl először a fájl nevét fogja megjeleníteni a fájlban, és a beírt adatok előnézeti képét látja a második sorban, mert n az ezt követő szavak másik sorba való áthelyezésére szolgál. Ellenőrizheti a paranccsal bevitt adatokat is.

$számára fájlt ban ben *;tedd macska $ fájl;Kész

A Cat parancs a könyvtár összes fájljában lévő adatok lekérésére szolgál.

Az adatok bevitelének és lekérésének folyamatát egyetlen paranccsal lehet elvégezni.

$számára fájlt ban ben *;tedd kidobta-És$ fájl nbash programozás> $ fájl;macska $ fájl;Kész

Az első lépés az adatok fájlba írása, majd megjelenítése. A parancs végrehajtásakor a kimenet a következő lesz:

Minden fájl ugyanazt az értéket tartalmazza. Ennek oka a „for” hurok.

Ismerjük a hurkot az adatok lekérésére és az értékek beszúrására stb., De a hurkot biztonsági mentések létrehozására is használják. Ezeknek a fájloknak a .bak kiterjesztése van a végén. Most hajtsa végre a biztonsági mentési parancsot a shellben, hogy megtekinthesse az egyes fájlok biztonsági mentését.

$számára fájlt ban ben *;tedd cp $ fájl $ fájl.mögött;Kész;

A cp kulcsszó az összes fájl biztonsági mentésére szolgál. Most nézze meg azokat a fájlokat, amelyekre ez a parancs vonatkozik. Ezt a parancsot használjuk:

$ls- az

Most a kimeneten látható, hogy a fájlok részletei megjelennek. A dátum, a fájlnév, a felhasználónév és a törlés időpontja is. Ezenkívül minden fájlról pontos másolattal rendelkezik.

Ha csak a jpeg fájlokat akarjuk. Ezt fogjuk használni a parancsban

$számára fájlt ban ben *.jpeg;tedd kidobta $ fájl;Kész

Ez csak a képek nevét tartalmazza.

Egy egyszerű lelet is elvégezheti ugyanezt a funkciót. Minden fájlt lekér .sh kiterjesztéssel.

$megtalálja. - név*SH

A find kulcsszót a ciklusban használjuk.

$számára fájlt ban ben *;teddmegtalálja. Fájl.*;Kész

Ezzel az összes fájl az aktuális könyvtárba kerül. Ezek kiterjesztése .bak, .jpeg, .txt. stb.

Ha most látni szeretné az összes könyvtárfájl nevét és a bennük lévő adatokat, akkor ezt a „for” ciklus is elvégzi.

$számára fájlt ban ben *;tedd fájlt $ fájl;Kész

Következtetés

Mint tudjuk, a könyvtárakban való lapozgatás már nem nehéz, a hurkok használata a Bash -ben és a Linux operációs rendszereken való teljesítmény. Ez az oktatóanyag teljes útmutató a könyvtár műveletek létrehozásához, eléréséhez és végrehajtásához a „for” ciklus használatával.