Как мне написать сценарий sed для информации grep из текстового файла

Я пытаюсь выполнить домашнее задание, которое ограничено использованием только sed для фильтрации входной файл в определенный формат вывода. Вот входной файл (с именем stocks ):

Symbol;Name;Volume
================================================

BAC;Bank of America Corporation Com;238,059,612
CSCO;Cisco Systems, Inc.;28,159,455
INTC;Intel Corporation;22,501,784
MSFT;Microsoft Corporation;23,363,118
VZ;Verizon Communications Inc. Com;5,744,385
KO;Coca-Cola Company (The) Common;3,752,569
MMM;3M Company Common Stock;1,660,453

================================================

И на выходе должен быть:

BAC, CSCO, INTC, MSFT, VZ, KO, MMM

Я нашел решение, но оно неэффективно. Вот мой сценарий sed (с именем try.sed ):

/.*;.*;[0-9].*/ { N
N
N
N
N
N
s/\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*/\1, \2, \3, \4, \5, \6, \7/gp
}

В оболочке я запускаю следующую команду:

$ sed -nf try.sed stocks

Мой вопрос: есть ли лучший способ использования sed, чтобы получить тот же результат? Написанный мной скрипт работает только с 7 строками данных. Если данные длиннее, мне нужно повторно изменить мой скрипт. Я не знаю, как мне это исправить, поэтому прошу помощи!

Спасибо за любые рекомендации.

6
задан csgillespie 25 September 2012 в 13:51
поделиться