我正在寻找可以将我的bcp文件转换为csv文件的任何已知工具或脚本。
输入bcp文件格式:
我想要的输出格式:
为此,我做了以下事情:
使用少量sed命令将bcp文件转换为csv,这样我可以在MS excel程序中打开正确对齐的文件,我可以看到内容未被更改(如预期的那样)。
sed -i 's/\"/\"\"/g' $inFile
sed -i 's/XXXXXXX/","/g' $inFile
sed -i 's/YYYYYYY/"\n"/g' $inFile
sed -i '1s/^/\"/' $inFile
sed -i '$s/\"//' $inFile
sed -i -e '${/^$/d}' $inFile
sed -i '1s/^/"Header","added","here"\n/' $inFile
尝试过csvkit工具:csvcut $infile
此工具正在选择首选列,但修改内容,如删除CR。
这种转换中的任何想法?
答案 0 :(得分:-1)
awk
救援!
awk -F='XXXXXXX' -v RS='YYYYYYY' -v OFS='","' -v ORS='\n'
'{gsub(/"/,"\""); $1=$1; print "\""$0"\""}' file
转义引号,引用字段,将字段分隔符更改为逗号并将分隔符记录到换行符。 $1=$1
迫使awk应用新的分隔符。