我有一个文本文件,其字段由分隔|
。我想将其转换,
为典型的CSV。我试图用这个:
sed 's/|/,/g' test.txt > test.csv
但是某些字段中已经有逗号了。例如:
var1|var2|var3
Potter, Harry|2|3
我应该怎么办?
尝试这个
sed 's/|/","/g; s/^/"/; s/$/"/' file
这将产生如下输出:
"var1","var2","var3"
"Potter, Harry","2","3"
解释:
您需要使用引号将每个列括起来""
。
首先s/|/","/g
替换所有|
以","
逗号引号括起来的输出:var1","var2","var3 Potter, Harry","2","3
Seconds/^/"/
用引号替换行首,其中^
表示行首
第三s/$/"/
行用引号替换行尾,其中$
表示行尾
您还可以在每个逗号之前使用反斜杠在字段中转义逗号,如下所示
Potter\, Harry,2,3
您可以在此处阅读有关csv格式的更多信息:https : //www.csvreader.com/csv_format.php
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句