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
,$2
denotes field number.print $0,val
- printing$0
(whole line) , stored valueval
.
Comments
Post a Comment