2017-12-02 2 views
-4

ich wie eine Datei mit 3 Spalten unterKonvertieren von Spaltendaten Schlüssel-Wert-Paare Schale mit

1 104 Sam       
1 0 Sam     
2 18 George      
2 26 George 

Ich will das

umgewandelt
1:[104,0,Sam]    
2:[18,26,George] 

Können wir diese mit Hilfe von Shell Scripting acheive oder wie awk Befehl.

+3

Haben Sie etwas versuchen, überhaupt benutzen? Können Sie Ihre Forschungsanstrengungen posten? – Inian

+0

Können Sie auch angeben, welche Shell Sie verwenden? 'echo $ SHELL' – Inian

+0

In Ihrem Beispiel definieren die erste und die letzte Spalte einen eindeutigen Schlüssel. Warum willst du den Namen als letztes Array-Element? Das hat keine Bedeutung. Oder könnten Sie viele Namen pro erste Spalte haben? Wenn ja, dann ist das Beispiel nicht repräsentativ. – thanasisp

Antwort

-4

speichern Eingabe in Datei testdata dann können Sie so etwas wie dieses

cat testdata | awk 'BEGIN{i=1}{line[i++]=$0}END{j=1; while (j<i) {print line[j],line[j+1]; j+=2}}' | awk '{print $1":" "[" $2 "," $5 "," $6 "]"}'

+0

Hey Danke Ashutosh, es hat funktioniert .. – Nandu

+0

Wenn es dir nichts ausmacht, kannst du das bitte erklären, da ich neu zu awk bin – Nandu

+0

Das ist der harte Druck des Beispiels. Keine Lösung für eine Eingabedatei, die dem beschriebenen Schema folgt. – thanasisp

Verwandte Themen