将CSV转换为TSV格式以进行Mongo导入
我有这个csv文件将CSV转换为TSV格式以进行Mongo导入,csv,command-line,Csv,Command Line,我有这个csv文件 0161-1#CT-00#1;Others;0 0161-1#CT-01#1;Class;1 0161-1#CT-02#1;Property;2 0161-1#CT-03#1;Feature;3 0161-1#CT-04#1;Representation;4 0161-1#CT-05#1;Unit of Measure;5 0161-1#CT-06#1;Qualifier of Measure;6 0161-1#CT-07#1;Property Value;7 0161-1#
0161-1#CT-00#1;Others;0
0161-1#CT-01#1;Class;1
0161-1#CT-02#1;Property;2
0161-1#CT-03#1;Feature;3
0161-1#CT-04#1;Representation;4
0161-1#CT-05#1;Unit of Measure;5
0161-1#CT-06#1;Qualifier of Measure;6
0161-1#CT-07#1;Property Value;7
0161-1#CT-08#1;Currency;8
0161-1#CT-09#1;Data Type;9
当我运行此命令将带分号的csv转换为tsv文件时:
tr”;“\t”
在我的Mac上的终端中。它只打印出这样的文本,不保存文件
0161-1#CT-00#1 Others 0
0161-1#CT-01#1 Class 1
0161-1#CT-02#1 Property 2
0161-1#CT-03#1 Feature 3
0161-1#CT-04#1 Representation 4
0161-1#CT-05#1 Unit of Measure 5
0161-1#CT-06#1 Qualifier of Measure 6
0161-1#CT-07#1 Property Value 7
0161-1#CT-08#1 Currency 8
0161-1#CT-09#1 Data Type 9% ➜ eotd-cleaned
因此,它看起来可以工作,但文件未保存。我需要在此命令行上添加什么才能将其保存到此文件或新文件?许多小型unix文本处理工具设计为在管道中工作,并且假定最终用户将使用输出重定向创建新文件,即
tr ";" "\t" < testing.csv > testing.tsv
或者您可以使用重命名(mv
)文件
tr ";" "\t" < testing.csv > testing.tsv && mv testing.tsv testing.csv
按键盘上的tab键,将命令中的
替换为实际的tab字符
在使用Mac电脑时,需要指定备份文件名作为-i
的一部分,如
sed -i'' 's/;/<t>/g' testing.csv
sed-i''s///g'testing.csv
”
表示不真正创建备份文件。您可以对真正的备份文件执行sed-i.bak
还有其他解决方案,所以请尝试在此处搜索“文件中的文本替换”
IHTH
sed -i 's/;/<t>/g' testing.csv
sed -i'' 's/;/<t>/g' testing.csv