Задать вопрос
hofix
@hofix

Как сделать вывод толко 1 строки после совпадения grep -A 1?

Как сделать вывод толко 1 строки после совпадения grep -A 1?

Дано test.txt:
ABCD
777

Пример:
grep -A 1 'ABCD' test.txt

Вывод:
ABCD
777

Необходимый вывод:
777
  • Вопрос задан
  • 1752 просмотра
Подписаться 2 Средний 4 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Linux для робототехников
    3 месяца
    Далее
  • Stepik
    Основы Linux
    2 недели
    Далее
  • Учебный центр IBS
    AL-1801 ОС Astra Linux Special Edition 1.8 для пользователей
    1 неделя
    Далее
Решения вопроса 1
убрать можно вторым grep фильтром:

grep -A 1 'ABCD' test.txt | grep -v 'ABCD'
7777

естествненно если во второй строке (которую хотим сохранить) тоже есть ABCD то надо модифицировать второй grep указывая найти чего нибудь чего там нет... но принцип остается прежним
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
можно без лишнего колдовства )))
grep -A 1 'ABCD' test.txt | tail -n 1
НО если строк с 'ABCD' несколько??? :(
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Попробуй так:
sed -n '/ABCD/{x;n;p;D}' test.txt
Ответ написан
Комментировать
smorman
@smorman
When In Rome do as The Romans do...
Можно так:
$ awk '{line = $0}; END {print line}' text.txt

вывод в констоль:
777
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы