Переформатирование выходного файла CSV - PullRequest
0 голосов
/ 23 октября 2019

создавая скрипт, который читает файл 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

1 Ответ

0 голосов
/ 23 октября 2019

Вы можете использовать tr. Вы переводите запятые с пробелом.

 cat "/file-path/details.csv" | tr ',' ' '

Если вы хотите удалить первую строку, вы можете использовать sed

 sed -i 1d $'/file-path/details.csv'

А если вы хотите пропустить первую строку, используйте tail

 tail -n +2 /file-path/details.csv  | tr ',' ' ' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...