I've got a file with each record on a separate line and each record contains 34 fields separated by a colon and i'm trying to re-arrange the order of the fields and merge together certain fields separated by a slash (like field7/field28). I tried using an awk print statement like
awk -F: 'BEGIN {OFS=":"}{ print $1, $2, $24, $23, $25, $17, $26, $4, $27, $5, $6, $7"/"$28, $8"/"$29, $9"/"$30, $10"/"$31, $11"/"$32, $33, $12, $13, $21, $14, $3, $34, $19, $22, $18, $20, $15, $16 }' ~/Desktop/fake_data2.txt > ~/Desktop/Output.txt
but if one or both of the fields are empty it will print the slash; which is not needed if they are both empty or if the second field is empty.
Being an AWK newbie i need help in writing the AWK statement to do what i meant it to do, not what i told it to do. Can i put an IF statement inside a print statement?
GIVEN INPUT:
---$1----:--$2-:-----$3----:-$4-:-$5-:--$6-:--$7-:-$8-:-$9-:-$10-:-$11-:-$12:-$13--:--$14--:$15:$16:-$17--:-$18:-$19-:$20:$21:$22:-------$23-----:24:-$25-:-$26:-$27:-----$28----:-$29-:-$30-:-$31-:$32:-$33:-$34
SEP 19-98:SSSSS: $650:5555:2222:9 :4 :4 :2 :2 :2 :2000: 375:FAKETF : : :LAPS : 2 : 76 : : : 1: $1,550 :FT:NW1LC:0283:1284: : : :3 :3 : :AAAA
SEP 26-98:TTTTT: :1111:3333:9 :6 :6 :6 :7 :6 :1000: 380:ROTHE : : :LAPS : 6 : 86 : : : 3: $2,620 :FT:NW1LC:0300:1330: : : :9Z :7 : :BBBB
SEP 28-98:UUUUU: :7777:6666:7 :4 :3 :4 :5 :9 :2000: 4080:ROTHE : : :LAPS : 0 : 56 : : : 4: $2,600 :FT:FNWTC:0284:1293: : : :4 :5H : :CCCC
OCT 12-98:VVVVV: $3,000:4444:0000:5 :5 :5 :4 :4 :1 :3000: 2490:ROTHE : : :LAPS : 5 : 50 : : : 6: $6,600 :FX:CCQ3Y:0282:1301: : : :3H :H : :DDDD
OCT 19-98:WWWWW: $3,000:0101:1010:7 :7 :4 :1 :3 :1 :5000: 800:ROTHE : : :LAPS : 1 : 59 : : : 10: $6,500 :FT:CCQ3Y:0273:1293: : : :2 :XX :3333:EEEE
OCT 26-98:XXXXX: $300:0011:0010:2 :5 :5 :3 :3 :5 :2000: 360:ROTHE : : :LAPS : 3 : 41 : : : 5: $6,250 :FT:CCQ3Y:0291:1294: : : :5H :7T : :FFFF
JAN 6-98:YYYYY: $1,500:8888:3333:2 :4 :4 :2 :1 :1 :1000: 130:VIKING : : :LAPS : 9 : 25 : : : 2: $3,120 :ZZ:CHGNW:0292:1313: 5 :7 :H :1H :T :9999:GGGG
EXPECTED OUTPUT:
---$1----:--$2-:24:-------$23-----:--$25:-$17--:-$26:-$4-:-$27:-$5-:--$6-:-$7/$28:---$8/$29---:--$9/$30-:$10/$31:$11/$32:-$33:-$12:-$13--:$21:--$14--:----$3--:-$34:-$19-:$22:-$18:$20:$15:$16
SEP 19-98:SSSSS:FT: $1,550 :NW1LC:LAPS :0283:5555:1284:2222:9 :4 :4 :2 :2/3 :2/3 : :2000: 375: :FAKETF : $650:AAAA: 76 : 1: 2 : : :
SEP 26-98:TTTTT:FT: $2,620 :NW1LC:LAPS :0300:1111:1330:3333:9 :6 :6 :6 :7/9Z :6/7 : :1000: 380: :ROTHE : :BBBB: 86 : 3: 6 : : :
SEP 28-98:UUUUU:FT: $2,600 :FNWTC:LAPS :0284:7777:1293:6666:7 :4 :3 :4 :5/4 :9/5H : :2000: 4080: :ROTHE : :CCCC: 56 : 4: 0 : : :
OCT 12-98:VVVVV:FX: $6,600 :CCQ3Y:LAPS :0282:4444:1301:0000:5 :5 :5 :4 :4/3H :1/H : :3000: 2490: :ROTHE : $3,000:DDDD: 50 : 6: 5 : : :
OCT 19-98:WWWWW:FT: $6,500 :CCQ3Y:LAPS :0273:0101:1293:1010:7 :7 :4 :1 :3/2 :1/XX :3333:5000: 800: :ROTHE : $3,000:EEEE: 59 : 10: 1 : : :
OCT 26-98:XXXXX:FT: $6,250 :CCQ3Y:LAPS :0291:0011:1294:0010:2 :5 :5 :3 :3/5H :5/7T : :2000: 360: :ROTHE : $300:FFFF: 41 : 5: 3 : : :
JAN 6-98:YYYYY:ZZ: $3,120 :CHGNW:LAPS :0292:8888:1313:3333:2 :4/5 :4/7 :2/H :1/1H :1/T :9999:1000: 130: :VIKING : :GGGG: 25 : 2: 9 : : :
WHAT I GOT WITH MY BAD CODE:
SEP 19-98:SSSSS:FT: $1,550 :NW1LC:LAPS :0283:5555:1284:2222:9 :4 / :4 / :2 / :2 /3 :2 /3 : :2000: 375: :FAKETF : $650:AAAA: 76 : 1: 2 : : :
SEP 26-98:TTTTT:FT: $2,620 :NW1LC:LAPS :0300:1111:1330:3333:9 :6 / :6 / :6 / :7 /9Z :6 /7 : :1000: 380: :ROTHE : :BBBB: 86 : 3: 6 : : :
SEP 28-98:UUUUU:FT: $2,600 :FNWTC:LAPS :0284:7777:1293:6666:7 :4 / :3 / :4 / :5 /4 :9 /5H : :2000: 4080: :ROTHE : :CCCC: 56 : 4: 0 : : :
OCT 12-98:VVVVV:FX: $6,600 :CCQ3Y:LAPS :0282:4444:1301:0000:5 :5 / :5 / :4 / :4 /3H :1 /H : :3000: 2490: :ROTHE : $3,000:DDDD: 50 : 6: 5 : : :
OCT 19-98:WWWWW:FT: $6,500 :CCQ3Y:LAPS :0273:0101:1293:1010:7 :7 / :4 / :1 / :3 /2 :1 /XX :3333:5000: 800: :ROTHE : $3,000:EEEE: 59 : 10: 1 : : :
OCT 26-98:XXXXX:FT: $6,250 :CCQ3Y:LAPS :0291:0011:1294:0010:2 :5 / :5 / :3 / :3 /5H :5 /7T : :2000: 360: :ROTHE : $300:FFFF: 41 : 5: 3 : : :
JAN 6-98:YYYYY:ZZ: $3,120 :CHGNW:LAPS :0292:8888:1313:3333:2 :4 / 5 :4 /7 :2 /H :1 /1H :1 /T :9999:1000: 130: :VIKING : $1,500:GGGG: 25 : 2: 9 : : :
If anybody could give me some direction, i would appreciate the help!