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

Re: [OT] Oneliner - X letzte Felder ausgeben



Hallo,
David Haller wrote:
Hallo,

Am Die, 28 Nov 2006, Aleks schrieb:

Sebastian Kayser wrote:

bin gerade am Oneliner basteln und möchte STDIN nach Feldern
auftrennen. Dabei sollen die X letzten Felder einer Eingabezeile inkl.
des Trenn-Zeichens ausgegeben werden.

hier noch eine awk Lösung..

echo "lala lulu lili bambam bumbum" | awk '{for(i=2;i--;i==0)printf"%s ",$(NF-i)}END{print""}'

es Muss lediglich i angepasst werden.


| awk '{while(i>0){printf "%s ",$(NF-i); i--; } }END{print""}' i=2
| awk -v i=2 '{while(i>0){printf "%s ",$(NF-i);i--;}}END{print"";}'

Oder noch etwas verfeinert:

| awk -v f=3 '{ i=f; while( i > 0 ) {
                    printf "%s ", $(NF-i);
i--; }
                if( f > 0 ) { print""; }
              }'

Funktioniert dann auch mit mehreren Zeilen ;)

mmmh, bei mir funktionieren die alle nicht für mehrere Zeilen.
Die letzte schmeißt nen Fehler..


Wie wäre es mit:

$ cat data
lala lulu lili
bambam bumbum
$ cat data|perl -ane'$i=1;for(reverse(0..$i)){next if $#F<$_;print"$F[$#F-$_] "};print"\n"'
lulu lili
bambam bumbum
$

Gruß,
Aleks



Reply to: