Reputation: 19
My requirement is to convert pipe separated file into normal excel. So I used the below tr command in UNIX to perform this operation. tr '|' ',' < filename.csv > filename_Final.csv when I executed the above command it brings the negative sign of the field to field end. So I tried to bring the negative sign to front of the field I dint find correct matching UNIX script. If anyone come across a similar instance, kindly help. Input: Pipe file
1|abc|-123
2|def|456
3|ijk|789
After tr execution
tr '|' ',' < filename.csv > filename_Final.csv
Output: Pipe file is bifurcated into normal columns
1 abc 123-
2 def 456
3 ijk 789
My requirement is to bring the negative sign to front of the field.
Upvotes: 0
Views: 134
Reputation: 85800
Instead of tr
, you can just use awk
to over-write the Output-Field-Separator
which in your case is |
awk '{$1=$1}1' FS="|" OFS=" " filename.csv > filename_Final.csv
The above command over-writes the OFS
to a single white-space, hence your input file
1|abc|-123
2|def|456
3|ijk|789
gets converted to
1 abc -123
2 def 456
3 ijk 789
thereby without disturbing the column entries present.
Upvotes: 1