Запись строк с полями, разделенными специальным символом-разделителем, таким как |
, может управляться базовыми инструментами командной строки Unix, такими как awk
. Например, с вашими входными записями в файле records.txt
:
awk -F\| 'NR>1{for(i=2;i<=NF;i++){print $1"|"$(i)}}' records.txt
Я рекомендую прочитать учебник по awk и поиграть с ним. Связанные инструменты командной строки, которые стоит изучить, включают grep
, sort
, wc
, uniq
, head
, tail
и cut
. Если вы регулярно выполняете обработку данных в файлах, разделенных разделителями, они, скорее всего, понадобятся вам ежедневно. Как только ваш формат структурирования данных станет более сложным (например, формат CSV с возможностью также использовать символ разделителя в значениях полей), вам потребуются более конкретные инструменты, например, см. этот вопрос по инструментам CSV или JQ для обработки JSON. Все же знание основных инструментов командной строки Unix сэкономит вам много времени.