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: