>_ IzzyLab

Практическое задание

Разбор CSV по колонкам

средне

В /root/people.csv строки вида имя,возраст,город. Напиши /root/names.sh, который выводит только имена (первую колонку), и сохрани вывод в /root/names.txt. Пропусти строку-заголовок.

Что потренируешь:
  • разбор csv
  • переменная ifs
  • while read
  • tail
  • поля и разделители

Разбор темы

Разбор структурированного текста в bash строится на переменной IFS (Internal Field Separator) — она задаёт, какие символы read считает границами полей; выставив её в запятую, можно разложить CSV-строку сразу по нескольким переменным по числу колонок. Присваивание IFS прямо в заголовке цикла while ... read действует только на этот read и не портит окружение. Строку-заголовок удобно отсечь ещё до цикла, отдав в него не весь файл, а его хвост начиная со второй строки — это делает tail с указанием стартовой строки. Результат перенаправляется в файл через >.

Что проверяется

  1. в names.txt 3 имени
  2. имена есть, заголовок пропущен

Как это выглядит