"BZP"
>
> I have a CSV file, like this :
>
> Field1;Field2;Field3;Field4
> John;PATTY;555-12345;NY
> Homer;MAC CULLY;555-32147;NH
> Selma;BOUVIER;555-12378:KS
>
> And i want to parse and modify it, this
> is the target :
>
> Field0;Field1;Field2;Field3;Field4;Field5
> John PATTY;John;PATTY;555-12345;NY;JP
> Homer MAC CULLY;Homer;MAC CULLY;555-32147;NH;HM
> Selma BOUVIER;Selma;BOUVIER;555-12378;KS;SB
>
> So, add two fields which are given by
> other fields in the CSV
>
> Field0 = Field1 + Field2
>
> Field5 = Initials of Field0
>
Well using Microsoft's Log Parser 2.2
(the file parsing tool):
PS> get-content "semiColon.csv"
Field1;Field2;Field3;Field4
John;PATTY;555-12345;NY
Homer;MAC CULLY;555-32147;NH
Selma;BOUVIER;555-12378;KS
PS>
And into the requested new file:
PS> LogParser.exe "SELECT STRCAT(STRCAT(field1,' '),field2) AS
Field0,field1,fie
ld2,field3,field4,STRCAT(SUBSTR(field1,0,1),SUBSTR(field2,0,1)) AS
Field5 INTO '
newSemiColon.csv' FROM
'semiColon.csv'" -i:tsv -iSeparator:";" -headerRow

n -st
ats

ff -o:tsv -headers

n -oSeparator:";"
PS>
PS> get-content "newSemiColon.csv"
Field0;Field1;Field2;Field3;Field4;Field5
John PATTY;John;PATTY;555-12345;NY;JP
Homer MAC CULLY;Homer;MAC CULLY;555-32147;NH;HM
Selma BOUVIER;Selma;BOUVIER;555-12378;KS;SB
PS>
And for a real csv file:
PS> LogParser.exe "SELECT STRCAT(STRCAT(field1,' '),field2) AS
Field0,field1,fie
ld2,field3,field4,STRCAT(SUBSTR(field1,0,1),SUBSTR(field2,0,1)) AS
Field5 INTO '
realNewSemiColon.csv' FROM
'semiColon.csv'" -i:tsv -iSeparator:";" -headerRow

n
-stats

ff -o:csv -headers

n
PS>
PS> get-content "realNewSemiColon.csv"
Field0,Field1,Field2,Field3,Field4,Field5
John PATTY,John,PATTY,555-12345,NY,JP
Homer MAC CULLY,Homer,MAC CULLY,555-32147,NH,HM
Selma BOUVIER,Selma,BOUVIER,555-12378,KS,SB
PS>
Just another way!