[英]Removing new line from CSV file
我有一個使用 unoconv 將 excel 文件轉換為 csv 的腳本。 我注意到由於 excel 中的特定格式,csv 中的一些記錄被添加為新行。 我想知道是否可以在 unix 中處理這個問題。
采樣有問題的數據。
col1, col2, col3
jim,"washington dc
",123
正確的數據應該是。
col1, col2, col3
jim,"washington dc",123
你可以使用這個gnu sed
:
cat file
col1, col2, col3
jim,"washington dc
","12
3"
foo, bar, baz
123, abc, xyz
和sed
命令:
sed -E ':a;N;;s/(,"[^"]*)\n/\1/;$!ba' file
col1, col2, col3
jim,"washington dc","123"
foo, bar, baz
123, abc, xyz
當您在sed
命令下使用 csv 文件時,它將刪除帶有空格的\\n
字符:-
modifiedline=$(sed ':a;N;$!ba;s/\n/ /g' $line)
echo -e "$modifiedline\n" >> csvfile.csv
這個對我有用。 您必須修改現有的 shell 腳本,將其寫入csv
文件並添加上述命令來解決您的問題。
希望這會幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.