LINUX.ORG.RU

Разбор, в csv

 ,


0

1

Есть текстовый файл в таком виде:

Адрес: АдресГлоб1_2
Фамилия1_1 Имя1_1 Отчество1_1;Адрес1_1;ДР1_1
Фамилия1_2 Имя1_2 Отчество1_2;Адрес1_2;ДР1_2
Адрес: АдресГлоб2_4
Фамилия2_1 Имя2_1 Отчество2_1;Адрес2_1;ДР2_1
Фамилия2_2 Имя2_2 Отчество2_2;Адрес2_2;ДР2_2
Фамилия2_3 Имя2_3 Отчество2_3;Адрес2_3;ДР2_3
Фамилия2_4 Имя2_4 Отчество2_4;Адрес2_4;ДР2_4
Адрес: АдресГлоб3_3
Фамилия3_1 Имя3_1 Отчество3_1;Адрес3_1;ДР3_1
Фамилия3_2 Имя3_2 Отчество3_2;Адрес3_2;ДР3_2
Фамилия3_3 Имя3_3 Отчество3_3;Адрес3_3;ДР3_3
Неодходимо получить текстовый файл в таком виде (csv):


АдресГлоб;ФИО;Адрес;ДР
АдресГлоб1_2;Фамилия1_1 Имя1_1 Отчество1_1;Адрес1_1;ДР1_1
АдресГлоб1_2;Фамилия1_2 Имя1_2 Отчество1_2;Адрес1_2;ДР1_2



Последнее исправление: tosick4 (всего исправлений: 2)

Получай, разрешаю.

ЗЫ: Задача убога чуть более чем совсем, но все равно в Job

anonymous
()

Помести тест в теги [code][/code], чтобы сохранить сожержимое без изменений и его можно было нормально читать.

gasinvein ★★★
()

Сколько платишь ?

Dred ★★★★★
()
Ответ на: комментарий от tosick4

awk, разумеется. В строчках с адресом запоминаешь адрес, в остальных строчках печатаешь адрес первым, затем остальное.

BEGIN {IFS=": "}
$1=="Адрес" {addr_glob=$2; next}
{printf "%s;%s", addr_glob, $0} 

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

\n забыли в конце:

BEGIN {FS=";"}
$1=="Адрес" {addr_glob=$2; next}
{printf "%s;%s\n", addr_glob, $0}
Благодарю за наводочку! Спасибо за сэкономленное мое время, а время - это жизнь...

tosick4
() автор топика
Ответ на: комментарий от anonymous

Спасибо, но главное здоровье! Берегите себя

tosick4
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.