Portál AbcLinuxu, 14. května 2025 00:00

Dotaz: AWK šířka sloupců.

7.8.2007 09:20 Lemmy
AWK šířka sloupců.
Přečteno: 521×
Odpovědět | Admin
Ahoj, potreboval bych poradit jak presvedcit awk, aby nedelal takovy vypis:

 df -h|awk '{print "\t"$1, $2, $6}'
        Filesystem Size Mounted
        /dev/hdc2 2.6G /
        udev 125M /dev
        /dev/hdd1 9.2G /home
        /dev/hdd2 9.2G /var
        shm 125M /dev/shm

Ale takovy:

        Filesystem    Size  Mounted
        /dev/hdc2     2.6G  /
        udev          125M  /dev
        /dev/hdd1     9.2G  /home
        /dev/hdd2     9.2G  /var
        shm           125M  /dev/shm
Dulezite je zachovani toho tabulatoru. Zkousel jsem to pomoci columns -t, ale ten mi uvodni tabulator sezral.

Diky moc za radu.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.8.2007 09:41 pepe
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
Odpovědět | | Sbalit | Link | Blokovat | Admin
zkus neco jako: df -h|awk '{printf("%-30s %10s %-20s\n", $1, $2, $6)}'
7.8.2007 09:51 Lemmy
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
Vraci mi to tohle:

df -h|awk '{printf "%-30s %10s %-20s\n\t"$1, $2, $6}'
awk: (FILENAME=- FNR=1) fatal: not enough arguments to satisfy format string
        `%-10s %10s %-20s
        Filesystem'
                       ^ ran out for this one
Diky za opoved.
7.8.2007 09:59 pepe
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
tak tam dej carku pred $1
7.8.2007 10:14 Lemmy
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
To uz vypada mnohem lip:

df -h|awk '{printf "%-20s %10s %-10s\n\t",$1, $2, $6}'
Filesystem                 Size Mounted
        /dev/hdc2                  2.6G /
        udev                       125M /dev
        /dev/hdd1                  9.2G /home
        /dev/hdd2                  9.2G /var
        shm                        125M /dev/shm
Jen mi neni jasne proc mi to neodsadi i prvni radek.

Dik za odpoved.
7.8.2007 10:23 pepe
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
to netusim, ale kdyz argumenty printf das do zavorky printf(args), tak to funguje :)
7.8.2007 10:37 Lemmy
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
Mne bohuzel ne :( :

server src # df -h|awk '{printf("%-20s %10s %-10s\n\t"),$1, $2, $6}'
Filesystem                 Size Mounted
        /dev/hdc2                  2.6G /
        udev                       125M /dev
        /dev/hdd1                  9.2G /home
        /dev/hdd2                  9.2G /var
        shm                        125M /dev/shm
        server src #
Vypada to, ze to nejdriv odradkuje a az potom da tabulator.

Diky za odpoved.
7.8.2007 10:38 pepe
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
tak tam nedavej tab na konec radku
7.8.2007 10:40 Lemmy
Rozbalit Rozbalit vše Re: AWK šířka sloupců.
A uz to funguje:
df -h|awk '{printf("\t%-20s %10s %-10s\n"),$1, $2, $6}'
Diky moc. Jak jiste vidis, s awk se teprve ucim. :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.