我有一个我正在尝试处理的 CSV,但是我的一些字段包含逗号、换行符和空格,现在我想起来,那里可能也有一些撇号。
对于逗号和换行符,我已经在输出阶段将它们转换为其他字符串,并在最后将它们转换回来(是的,它很乱,但我只需要运行一次)我意识到我可能必须用也有空格,但我已将问题分解为基本部分,看看我是否可以解决它
这是一个 input.csv
"john","beatles.com","arse","fool@wonka.com","1","1","on holiday"
"paul","beatles.com","bung","","0","1","also on holiday"
(我试过带引号和不带引号)
这是脚本
INPUT="input.csv"
for i in `cat ${INPUT}`
do
#USERNAME=`echo $i | awk -v FS=',' '{print $1}'`
USERNAME=`echo $i | awk 'BEGIN{FS="[|,:]"} ; {print $1}'`
echo "username: $USERNAME"
done
所以这应该只输入 john 和 paul 但我得到了
username: "john"
username: holiday"
username: "paul"
username: on
username: holiday"
因为它看到空格并将它们解释为新行。
我可以让它停止吗?