Awk

Az első oszlop vagy az utolsó oszlop vagy mindkettő nyomtatása az 'awk' használatával

Az első oszlop vagy az utolsó oszlop vagy mindkettő nyomtatása az 'awk' használatával

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 telefon
Jonathon 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.

$ macska ügyfelek.txt
$ 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.

A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...