Я хочу найти и удалить все строки с определенной строкой определенной длины в определенном месте.
Одна строка в моем наборе данных выглядит примерно так:
STRING 1234567 1234567 7654321 6543217 5432176
Примечания:
Записи имеют ширину поля 8
Идентификационные номера могут повторяться в одной строке
Идентификационные номера могут повторяться в другой строке, но в другом месте - эти строки удалять не следует
В этом примере я хочу найти строки, содержащие «1234567», расположенные в столбце 17 и охватывающие столбец 24 (то есть третье поле), и удалить их. Как я могу сделать это с помощью sed или awk?
Я использовал следующее, но оно удаляет строки, которые я хочу сохранить:
sed -i '/1234567/d' ./file_name.dat
Ура!