[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Oneliner - X letzte Felder ausgeben



Hallo,
David Haller wrote:
Die letzte schmeißt nen Fehler..
Welchen?
$ cat data
lala lulu lili
bambam bumbum
$ cat data | awk -v f=3 '{ i=f;
>                 while( i > 0 ) {
>                     printf "%s ", $(NF-i);
>                     i--;
>                 }
>                 if( f > 0 ) { print""; }
>               }'
lala lulu lili lala lulu
awk: run time error: negative field index $-1
        FILENAME="-" FNR=2 NR=2
$ awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

Korrektur (habe nen Sonderfall nicht beachtet):
Hab ich gesehen ;-)

Wie wäre es mit:
$ cat data|perl -ane'$i=1;for(reverse(0..$i)){next if $#F<$_;print"$F[$#F-$_] "};print"\n"'
Nochwas:

$ echo "lala lulu lili bambam bumbum
bambam bumbum lala lulu lili
foo bar" | perl -ane '$i=2; if ( $i < $#F ) {
    print join(" ", @F[$#F-$i .. $#F]), "\n";
    } else { print; }'
lili bambam bumbum
lala lulu lili
foo bar
$ echo "lala lulu lili bambam bumbum
bambam bumbum lala lulu lili
foo bar" | perl -ane '$i=1; if($i<$#F) {
    print join(" ", @F[$#F-$i .. $#F]), "\n";
    } else { print; }'
bambam bumbum
lulu lili
foo bar
$
auch nicht schlecht ;>

Gruß,
Aleks



Reply to: