Я выполняю массаж с помощью sed (см. Учебник здесь: Grymoire ) ASCII-файлы, которые мы получаем от наших поставщиков оборудования.Файлы имеют такую структуру, как
Model-Manufacturer:D12-500
Test_Version:2.6.3
Но некоторые файлы, которые мы получаем, случайным образом «ломаются» и пропускают запись для «Модель-Производитель»:
Model-Manufacturer:D12-500
Test_Version:2.6.3
Model-Manufacturer:H24-700
Test_Version:2.6.3
Test_Version:2.6.3
Model-Manufacturer:R15-300
Test_Version:2.6.3
Я хочу это исправитьпроблема с Sed и поместите отсутствующую запись для «Модель-Производитель: N / A» до второго появления «Test_Version: 2.6.3»;это мой код
sed -n '
/Test_Version/ {
# found "Test_Version" - read in next line
N
# look for "Test_Version" on the second line
# and print if there.
/\n.*Test_Version/ {
# found it - now edit making one line
s/Test_Version/Model-Manufacturer:N/A/
}
}' infile > outfile
Это не работает.Я считаю, что мне нужно помнить положение каждого "Test_Version" и "Model_Manufacturer" перед выполнением замены, правильно?Могу ли я сделать это с помощью sed?
Заранее спасибо за ваш вклад.