bash - Append and replace using awk/sed -
i have file:
2016,05,p,0002    ,cjglopsd8                                                     00,bbf,bbdftp999,051000100,gbp,   ,       -2705248.00                            00,bbf,bbdftp999,059999998,gbp,   ,       -3479679.38                            00,bbf,bbdftp999,061505141,gbp,   ,             -0.40                            00,bbf,bbdftp999,061505142,gbp,   ,        6207621.00                            00,bbf,bbdftp999,061505405,gbp,   ,             -0.16                            00,bbf,bbdftp999,061552000,gbp,   ,             -0.24                            00,bbf,bbdftp999,061559010,gbp,   ,             -0.44                            00,bbf,bbdftp999,062108021,gbp,   ,             -0.34                            00,bbf,bbdftp999,063502007,gbp,   ,             -0.28   i want programmatically (in unix, or informatica if possible) grab first 2 fields in top row, concatenate them, append them end of each line , remove first row.
like so:
00,bbf,bbdftp999,051000100,gbp,,-2705248.00,201605                           00,bbf,bbdftp999,059999998,gbp,,-3479679.38,201605                            00,bbf,bbdftp999,061505141,gbp,,-0.40,201605                            00,bbf,bbdftp999,061505142,gbp,,6207621.00,201605                            00,bbf,bbdftp999,061505405,gbp,,-0.16,201605                            00,bbf,bbdftp999,061552000,gbp,,-0.24,201605                           00,bbf,bbdftp999,061559010,gbp,,-0.44,201605                          00,bbf,bbdftp999,062108021,gbp,,-0.34,201605                         00,bbf,bbdftp999,063502007,gbp,,-0.28,201605 this current attempt:
awk -vvar1=`cat of\ opsdown8.csv | head -1 | cut -d',' -f1` -vvar2=`cat of\ opsdown8.csv | head -1 | cut -d',' -f2` 'begin {fs=ofs=","} {print $0, var 1var2}' of\ opsdown8.csv> of_opsdown8.csv any pointers? i've tried looking around forum can find answers part of question.
thanks help.
use awk:
awk 'begin{fs=ofs=","} nr==1{val=$1$2;next} {gsub(/ */,"");print $0,val}' file explanation:
- begin{fs=ofs=","}- block set fs (field separator) , ofs (output field separator)- ,.
- nr==1- working line number 1. here,- $1,- $2denotes field number.
- print $0,val- printing- $0(whole line) , stored value- val.
Comments
Post a Comment