PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie erstellen wir eine normalisierte Tabelle aus einer denormalisierten Textdatei?

Verwenden von gnu awk (wegen der RS)

awk '{$1=$1} NR%2==1 {printf "%s,",$0} NR%2==0' RS="[,\n]" file
XXXXXXXXXX,YYYYYYYYYY
TTTTTTTTTTT,UUUUUUUUUU
RRRRRRRRR,JJJJJJJJJ
111111111111,22222222222
333333333333,44444444
5555555,666666
EEEEEEEE,WWWWWW
QQQQQQQ,PPPPPPPP

{$1=$1} Bereinigt und entfernt zusätzliche Leerzeichen
NR%2==1 {printf "%s,",$0} druckt ungerade Teile
NR%2==0 druckt geraden Teil und neue Zeile
RS="[,\n]" setzt den Datensatz auf , oder Zeilenumbruch