У меня есть куча файлов, содержащих мусор в преамбуле с последующей отформатированной информацией. Они все в одном формате. Я хочу игнорировать преамбулу (все, вплоть до слова "Описание") и отсортировать оставшиеся (все, включая слово "шасси", включая слово "Chassis"), в файлы .csv. Пример: ДО:
случайный бла
случайный бла-случайный х бла-случайный бла
Рандомбла хх Рандомбла
случайный хххх бла
SSS
Инвентарь оборудования:
Элемент _____________ Версия ___ Номер партии ___ Серийный номер _____ Описание
Chassis______________________________JN110XXX3AFA___MXX60
Промежуточная плоскость _________REV 03__710-013698__TXXX93 __________ Объединительная плата MXX60
FPM Board _______REV 03__710-014974__XA8XXX __________ Дисплей передней панели
PDM____________Rev 03 ___ 740-013110__QCXXX19500H ____ Модуль распределения питания
PEM 0___________Rev 04 ___ 740-013682_QCXXX43409S _____ PS 170 кВт; 200-240 В в

ПОСЛЕ:
Шасси ,,, JN110XXX3AFA, MXX60
Объединительная панель, REV 03,710-013698, TXXX93, объединительная плата MXX60
FPM Board, REV 03,710-014974, XA8XXX, дисплей на передней панели
PDM, Ред. 03,740-013110, QCXXX19500H, Модуль распределения питания
PEM 0, Ред. 04,740-013682, QCXXX43409S, PS 170 кВт; 200-240 В в

Я работал над чтением по одному слову за раз и искал слово триггера для "Описание", чтобы преобразовать в .csv, но я хотел знать, правильно ли я это делаю, пожалуйста? (Извините за паршивое форматирование выше - все оригиналы в красивых аккуратных столбцах).

Спасибо

Энди.

1 ответ1

0

Чтобы удалить до и включая строку заголовка:

sed -e '1,/^Hardware inventory:$/d' my_file

Это не меняет сам файл, а печатает часть файла после строки Hardware inventory: . Чтобы изменить сам файл, вам нужно добавить -i к опциям.

man sed гораздо больше информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .