Использованиеawk
:
$ awk -v n=3 -v p='particular exception' 'match($0,p) { skip=n+1 } --skip < 0' test.txt
line random text 1
line random text 2
line random text 3
....
line random text 14
line random text 15
line random text 16
.....
Количество строк конечного контекста, которые необходимо пропустить, задается в командной строке, например,. -v n=3
и регулярное выражение для соответствия также указывается в командной строке как -v p='expression'
.
Переменная skip
будет уменьшаться на единицу для каждой прочитанной строки, и скрипт будет печатать текущую строку всякий раз, когда переменная skip
меньше нуля. Когда интересующий шаблон найден, переменная skip
получает значение n + 1
, что означает, что текущая строка и n
другие строки будут пропущены.
match($0,p)
также может быть написано $0 ~ p
.
Установите auto_remove: yes
, tty: yes
, и я верю interactive: yes
, но это может быть неправильно, я просто предположил на основе краткого Google.
Кредит, причитающийся за первую половину моего ответа :https://stackoverflow.com/questions/35298664/way-to-set-rm-flag-for-ansible-docker-module
Просмотрите варианты здесь, если вам когда-нибудь понадобится установить флаг, и посмотрите, совпадают ли они:
https://docs.ansible.com/ansible/latest/modules/docker_container_module.html