2014-11-05 3 views
-1

Я пытаюсь напечатать все строки из файла перед первым совпадением. У меня есть те же записи снова в файле, но мне не нужны эти строки. Прочитано awk "{print}/$ {pattern}/{exit}" и sed "/ $ pattern/q" (мой serach основан на переменной). Но оба эти команды печатают все строки до последнего матча например: мой файл как а BCD Защиту хуга Защиту LMNO Защиты XVdкоманда для печати всех строк до первого совпадения

когда моя картина «Защита», я просто нужны abc и bcd. но вышеприведенные команды печатают, все строки перед последним «def». не могли бы вы предоставить некоторую идею

ответ

0

Это должно работать:

awk '!'"/${pattern}/{print} /${pattern}/ {exit}" input_file.txt 
Смежные вопросы