Как удалить строку с двумя шаблонами в двух позициях в файле Unix - PullRequest
0 голосов
/ 11 июля 2019

У меня есть такой файл.

aabbccde
aaeeffcc
aaffccdf
affdfdfc

Я хочу проверить, если 2-я позиция = a и 7-я позиция = d, эту строку следует удалить.

окончательный выводдолжно быть.

aaeeffcc
affdfdfc

Я пытался из Sed, но я могу проверить только для 1 позиции за раз.

sed  '/^.\{1\}a/d' f1.dat > f2.dat

Это удаляет все строки, которые имеют "а" в2-я позиция файла f1 и создайте новый файл f2.

Как удалить строку, проверив оба условия.позиция 2 = "а" и позиция 7 = "д"

1 Ответ

0 голосов
/ 11 июля 2019

Не могли бы вы попробовать следующее.

awk 'substr($0,2,1)=="a" && substr($0,7,1)=="d"{next} 1' Input_file

2-е решение:

awk '!/^.a....d/ '  Input_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...