Hogyan lehet átugrani a fájl első sorát az 'awk' használatával

How Skip First Line File Using Awk



A Linuxban az `awk` parancsnak többféle felhasználási módja van. Például egy szöveges fájl tartalmának kinyomtatására használható. Sok szövegfá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 kell elvégezni ezt a feladatot az `awk` paranccsal.

Hozzon létre egy szöveges fájlt

Ennek az oktatóanyagnak a folytatásához hozzon létre egy tabulátorral határolt szövegfájlt könyvlista.txt a következő tartalommal. Ez a fájl a könyveket tartalmazza a megfelelő szerzőkkel. Ebben az oktatóanyagban megmutatjuk, hogyan kell kinyomtatni a fájl különböző részeit az első sor kihagyása után.







Kiberbiztonság a bash Paul Troncone és Carl Albing közreműködésével

Parancssor Kung Fu Jason Cannon

Linux parancssori Travis Booth

Bash egyszerű lépésekben Mike McGrath

Unix egyszerű lépésekben Mike McGrath

1. példa: Hagyja ki a fájl első sorát 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ót használja a fájl első sorának kihagyására. Az NR értéke 1 az első sorban. A következő parancs olyan sorokat nyomtat, amelyek NR értéke nagyobb, mint 1.



$macskakönyvlista.txt

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

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







2. példa: Hagyja ki az első sort az NR és a '! =' Operátor használatával

A következő `awk` parancs hasonló az előző példához. Azonban itt a „! =” Összehasonlító operátort kell használni a „>” helyett.

$macskakönyvlista.txt

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

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



3. példa: Feltételes utasítással ugorja át 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 -el.

$macskakönyvlista.txt

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

A fenti parancsok futtatása után a következő kimenet 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álunk az összes könyv nevének kinyomtatására az első kivételével. Az `awk` parancs a mező elkülönítője ( t) alapján kiolvassa a fájl első oszlopát, és elküldi a kimenetet a második` awk` parancsnak. A második `awk` parancs kinyomtatja a kívánt kimenetet.

$macskakönyvlista.txt

$awk -F ' t' '{print $ 1}'könyvlista.txt| awk 'NR! = 1 nyomtatás}'

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

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

A „-F” opciót, az NR változót és a printf funkciót a következő „awk” parancs használja formázott kimenet generálásához az első sor kihagyása után. A parancs a t alapján oszlopokra osztja a fájl tartalmát, és a printf kinyomtatja az első és a második oszlopot, ha az NR érték legalább 2.

$macskakönyvlista.txt

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

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

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

A következő 'awk' parancs az '-F' opciót és az NR és NF billentyűket használja a könyvnevek kinyomtatására az első könyv kihagyása után. A „-F” opciót a t fájlállomány tartalmának elkülönítésére használjuk. Az NR az első sor kihagyására, az NF pedig csak az első oszlop nyomtatására szolgál.

$macskakönyvlista.txt

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

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

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

A következő 'awk' parancs az '-F' opciót és egy feltételes utasítást használja a szerzőnevek kinyomtatására az első sor kihagyása után. Itt az NR érték az if feltételben használatos. Itt a Szerző neve: n n lesz nyomtatva első sorként az első sor tartalma helyett. A szerző neve a fájlból az NR többi értékére lesz nyomtatva.

$macskakönyvlista.txt

$awk -F ' t' '{if (NR == 1) printf' nA szerző neve: n n '; else printf '%s n', $ 2} 'könyvlista.txt

A fenti parancsok futtatása után a következő kimenet jön létre. A kimeneten megjelenik a szöveg, Szerző neve: új sorral, és az összes szerző neve ki lesz nyomtatva, kivéve az elsőt.

Következtetés

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