Awk

A fájl első sorának kihagyása az 'awk' használatával

A fájl első sorának kihagyása az 'awk' használatával

Az 'awk' parancs különféle felhasználási lehetőségeket kínál a Linuxban. Például fel lehet használni egy szöveges fájl tartalmának kinyomtatására. A sok szöveges fájl első sora tartalmazza a fájl fejlécét, és néha az első sort ki kell hagyni a fájl tartalmának nyomtatásakor. Ebben az oktatóanyagban megmutatjuk, hogyan hajthatja végre ezt a feladatot az 'awk' paranccsal.

Hozzon létre egy szöveges fájlt

Az oktatóanyag folytatásához hozzon létre egy tabulátorral elválasztott szövegfájlt könyvlista.txt a következő tartalommal. Ez a fájl tartalmazza a megfelelő szerzőkkel rendelkező könyvek listáját. Ebben az oktatóanyagban megmutatjuk, hogyan nyomtathatja ki a fájl különböző részeit az első sor kihagyása után.

Kiberbiztonság bash Paul Tronconéval, Carl Albinggel
Parancssor: Kung Fu Jason Cannon
Travis Booth Linux parancssor
Bash egyszerű lépésekben Mike McGrath
Unix egyszerű lépésekben Mike McGrath

1. példa: A fájl első sorának kihagyása az NR és a '>' operátor használatával

Az NR változó jelzi a fájlban lévő rekordok számát. A következő 'awk' parancs az NR változóval hagyja ki a fájl első sorát. Az NR értéke 1 az első sorban. A következő parancs olyan sorokat nyomtat, amelyeknél az NR értéke nagyobb, mint 1.

$ macska könyvlista.txt
$ awk '(NR> 1)' könyvlista.txt

A fenti kimenet a fenti parancsok futtatása után jön létre. A kimenet a fájl első sorától eltérő összes sort tartalmazza.

2. példa: Az első sor kihagyása az NR és a 'használatával!= 'operátor

A következő 'awk' parancs hasonló az előző példához. Azonban a '!= 'összehasonlító operátort használunk itt a'> 'helyett.

$ macska könyvlista.txt
$ awk 'NR!= 1 'könyvlista.txt

A fenti kimenet a fenti parancsok futtatása után jön létre. A kimenet a fájl első sorától eltérő összes sort mutatja.

3. példa: Feltételes utasítás használatával hagyja ki a fájl első sorát

A következő 'awk' parancs kinyomtatja a fájl sorait, ha az if utasítás igaz. Itt az if utasítás csak akkor lesz igaz, ha az NR értéke nem egyenlő 1-vel.

$ macska könyvlista.txt
$ awk 'if (NR!= 1) print 'könyvlista.txt

A fenti kimenet a fenti parancsok futtatása után jön létre. A kimenet minden sort tartalmaz, kivéve a fájl első sorát.

4. példa: Nyomtassa ki a könyv nevét a fájlból, de hagyja ki az első sort

Ebben a példában két 'awk' parancsot használnak az összes könyvnév kinyomtatására, az első kivételével. Az 'awk' parancs beolvassa az első oszlopot a fájlból a mezőelválasztó (\ t) alapján, és a kimenetet elküldi a második 'awk' parancsra. A második 'awk' parancs kinyomtatja a kívánt kimenetet.

$ macska könyvlista.txt
$ awk -F "\ t" 'print $ 1' könyvlista.txt | awk 'NR!= 1 print '

A fenti kimenet a fenti parancsok futtatása után jön létre. A kimenet az összes könyv nevét mutatja, az első könyv kivételével.

5. példa: Az első sor kihagyása után formázza a fájl tartalmát

Az '-F' opciót, az NR változót és a printf függvényt a következő 'awk' parancs használja formázott kimenet létrehozására az első sor kihagyása után. A parancs a fájl tartalmát oszlopokra osztja \ t alapján, és a printf kinyomtatja az első és a második oszlopot, ha az NR értéke legalább 2.

$ macska könyvlista.txt
$ awk -F '\ t' 'NR> = 2 printf "% 30s% 20s \ n", $ 1, $ 2' könyvlista.txt

A fenti kimenet a fenti parancsok futtatása után jön létre. A kimenet a fájl formázott tartalmát mutatja, a fájl első sorának kivételével.

6. példa: Az NR és az NF használatával nyomtassa ki a könyvneveket, miután kihagyta az első sort

A következő 'awk' parancs az '-F', valamint az NR és az NF használatával nyomtatja ki a könyv nevét az első könyv kihagyása után. Az '-F' opció a \ t fájlalap tartalmának elválasztására szolgál. Az NR az első sor kihagyására, az NF pedig csak az első oszlop kinyomtatására szolgál.

$ macska könyvlista.txt
$ awk -F '\ t' 'NR> 1 && NF = 1' könyvlista.txt

A fenti kimenet a fenti parancsok futtatása után jön létre. A kimenet tartalmazza az összes könyvnevet a fájlban, az első könyv kivételével.

7. példa: Az első sor kihagyása után nyomtassa ki a formázott szerzőneveket

A következő 'awk' parancs az '-F' opciót és egy feltételes utasítást használ a szerzőnevek kinyomtatására az első sor kihagyása után. Itt az NR értéket használjuk az if feltételben. Itt a „Szerző neve: \ n \ n” kerül kinyomtatásra első sorként az első sor tartalma helyett. A szerző nevét a fájlból kinyomtatják az NR többi értékéhez.

$ macska könyvlista.txt
$ awk -F '\ t' 'if (NR == 1) printf "\ nAuthor neve: \ n \ n"; else printf "% s \ n", $ 2 'könyvlista.txt

A fenti kimenet a fenti parancsok futtatása után jön létre. A kimeneten a „Szerző neve:” szöveg új vonallal látható, és az összes szerző neve ki van nyomtatva, az első kivételével.

Következtetés

A fájl első sora átugorható különféle Linux parancsok használatával. Amint ebben az oktatóanyagban látható, különböző módon lehet kihagyni a fájl első sorát az 'awk' paranccsal. Figyelemre méltó, hogy az 'awk' parancs NR változójával bármely fájl első sorát kihagyhatjuk.

Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...
A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...
A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...