A Linux 'awk' parancs hatékony eszköz a szöveges fájlok különböző műveleteihez, például kereséshez, cseréhez és nyomtatáshoz. Táblázatos adatokkal könnyen használható, mert az egyes sorokat a mezők elválasztója alapján automatikusan mezőkre vagy oszlopokra osztja. Ha táblázatos adatokat tartalmazó szövegfájllal dolgozik, és egy adott oszlop adatait szeretné kinyomtatni, akkor az 'awk' parancs a legjobb megoldás. Ebben az oktatóanyagban megmutatjuk, hogyan nyomtathatja ki egy sor vagy szöveges fájl első oszlopát és / vagy utolsó oszlopát.
Nyomtassa ki a parancs kimenetének első és / vagy utolsó oszlopát
Számos Linux-parancs, például az 'ls' parancs táblázatos kimenetet generál. Itt megmutatjuk, hogyan nyomtassa ki az első oszlopot és / vagy az utolsó oszlopot az 'ls -l' parancs kimenetéből.
1. példa: Nyomtassa ki a parancs kimenetének első oszlopát
A következő 'awk' parancs kinyomtatja az első oszlopot az 'ls -l' parancs kimenetéből.
$ ls -l$ ls -l | awk 'print $ 1'
A fenti kimenet a fenti parancsok futtatása után jön létre.
2. példa: Nyomtassa ki a parancs kimenetének utolsó oszlopát
A következő 'awk' parancs kinyomtatja az utolsó oszlopot az 'ls -l' parancs kimenetéből.
$ ls -l$ ls -l | awk 'print $ NF'
A fenti kimenet a fenti parancsok futtatása után jön létre.
3. példa: Nyomtassa ki a parancs kimenetének első és utolsó oszlopát
A következő 'awk' parancs kinyomtatja az első és az utolsó oszlopot az 'ls -l' parancs kimenetéből.
$ ls -l$ ls -l | awk 'print $ 1, $ NF'
A fenti kimenet a fenti parancsok futtatása után jön létre.
Nyomtassa ki a szöveges fájl első és / vagy utolsó oszlopát
Itt megmutatjuk, hogyan kell használni az 'awk' parancsot egy szövegfájl első oszlopának és / vagy utolsó oszlopának kinyomtatásához.
Hozzon létre egy szöveges fájlt
Az oktatóanyag folytatásához hozzon létre egy nevű szövegfájlt ügyfelek.txt a következő tartalommal. A fájl háromféle ügyféladatot tartalmaz: név azonosítóval, e-mail és telefonszám. A tabulátor (\ t) az értékek elválasztására szolgál.
Név E-mail telefonJonathon Bing - 1001 [e-mail védett] 01967456323
Micheal Jackson - 2006 [e-mail védett] 01756235643
Janifer Lopez - 3029 [e-mail védett] 01822347865
John Abraham - 4235 j [e-mail védett] 01590078452
Mir Sabbir - 2756 [e-mail védett] 01189523978
4. példa: A fájl első oszlopának nyomtatása mezőelválasztó használata nélkül
Ha az 'awk' parancsban nem használunk mezõelválasztót, akkor szóköz lesz az alapértelmezett mezõelválasztó. A következő 'awk' parancs kinyomtatja az első oszlopot az alapértelmezett elválasztó használatával.
$ macska ügyfelek.txt$ awk 'print $ 1' ügyfelek.txt
A fenti kimenet a fenti parancsok futtatása után jön létre. Ne feledje, hogy a kimenet csak az ügyfél keresztnevét mutatja, mivel a szóköz mezőelválasztóként szerepel. A probléma megoldását a következő példa mutatja.
5. példa: A fájl első oszlopának nyomtatása elválasztóval
Itt a \ t mezőelválasztóként használható a fájl első oszlopának kinyomtatásához. A '-F' opció a mezőelválasztó beállítására szolgál.
$ macska ügyfelek.txt$ awk -F '\ t' 'print $ 1' ügyfelek.txt
A fenti kimenet a fenti parancsok futtatása után jön létre. A fájl tartalma három oszlopra oszlik a \ t alapján. Ezért az ügyfél nevét és azonosítóját első oszlopként nyomtatják ki. Ha az ügyfél nevét az azonosító nélkül szeretné kinyomtatni, folytassa a következő példával.
Ha az ügyfél nevét az azonosító nélkül szeretné kinyomtatni, akkor a „-” jelet kell használni mezőelválasztóként. A következő 'awk' parancs csak az első oszlopként nyomtatja ki az ügyfél nevét.
$ awk -F '-' '' print $ 1 'ügyfelek.txt
A fenti kimenet a fenti parancsok futtatása után jön létre. A kimenet tartalmazza az ügyfelek teljes nevét azonosítójuk nélkül.
6. példa: Nyomtassa ki a fájl utolsó oszlopát
A következő 'awk' parancs kinyomtatja az ügyfelek utolsó oszlopát.txt. Mivel a parancsban nem használunk mezőelválasztót, a szóköz mezőelválasztóként lesz felhasználva.
$ macska ügyfelek.txt$ awk 'print $ NF' ügyfelek.txt
A fenti kimenet a fenti parancsok futtatása után jön létre. Az utolsó oszlop a kimeneten látható telefonszámokat tartalmazza.
7. példa: Nyomtassa ki a fájl első és utolsó oszlopát
A következő 'awk' parancs kinyomtatja az ügyfelek első és utolsó oszlopát.txt. Itt a tab (\ t) mezőelválasztóként oszlik fel a tartalomra. Itt a tab (\ t) a kimenet elválasztója.
$ macska ügyfelek.txt$ awk -F "\ t" 'print $ 1 "\ t" $ NF' ügyfelek.txt
A fenti parancsok futtatása után a következő kimenet jelenik meg. A tartalmat három oszlopra osztja \ t; az első oszlop tartalmazza az ügyfél nevét és azonosítóját, a második pedig a telefonszámot. Az első és az utolsó oszlop kinyomtatása elválasztóként a \ t használatával.
Következtetés
Az 'awk' parancs különféle módon alkalmazható az első oszlop és / vagy az utolsó oszlop megszerzéséhez bármely parancs kimenetéből vagy táblázatos adatokból. Fontos megjegyezni, hogy a parancsban mezőelválasztóra van szükség, és ha nincs megadva, akkor a szóköz kerül felhasználásra.