[英]How to separate csv column that contains "Lastname, Firstname" into two different csv columns using bash?
[英]Need to export values stored in 2 different variables to two separate columns in csv file using bash script
如果變量從不包含特殊符號,如"
或,
或換行符,那么它就像
echo "$Var1,$Var2" > file.csv
如果其中可能有特殊符號,則必須引用它們,例如使用
printf '"%s","%s"\n' "${Var1//\"/\"\"}" "${Var2//\"/\"\"}" > file.csv
不引用
paste -d, <(echo "$Var1") <(echo "$Var2") > file.csv
帶引號
varToCol() {
sed 's/"/""/g;s/.*/"&"/' <<< "${!1}"
}
paste -d, <(varToCol Var1) <(varToCol Var2) > file.csv
對於純 bash 解決方案,將 function 替換為以下內容。 請注意:如果變量以換行符結尾,bash 解決方案會在列底部添加一個不必要的空字段。
varToCol() {
local col="${!1//\"/\"\"}"
printf %s\\n "\"${col//$'\n'/$'"\n"'}\""
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.