创建一个读取CSV文件并重新格式化输出的脚本,该CSV文件有五列,但是运行脚本时我的预期输出结果应该是三列。合并了两列
这是CSV文件:
Account number (preferred / formatted),Customer reference,Posting date,Account currency,Transaction amount
750856653,233413,3/9/2019,USD,-1439.58
750856653,233431,3/9/2019,USD,-186.66
750856653,NONREF,3/9/2019,USD,14401.48
这是我的代码:
#!/bin/bash
input="/file-path/details.csv"
column -t -s: |
sed 's/ ,/,/g'
while IFS=',' read -r f1 f2 f3 f4 f5
do
echo "$f1 $f2 $f3 $f4 $f5 "
done < "$input"
这是我想要的输出:
750-85665-3 0000233420 090319000000209299
750-85665-3 0000233417 090319000000285615
750-85665-3 0000233426 090319000000239225
答案 0 :(得分:0)
您可以使用tr。您用空格翻译逗号。
cat "/file-path/details.csv" | tr ',' ' '
如果要删除第一行,可以使用sed
sed -i 1d $'/file-path/details.csv'
如果要跳过第一行,请使用tail
tail -n +2 /file-path/details.csv | tr ',' ' '