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

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

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

Дано test.txt:
ABCD
777

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

Вывод:
ABCD
777

Необходимый вывод:
777
  • Вопрос задан
  • 1745 просмотров
Подписаться 2 Средний 4 комментария
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    AL-1802 Администрирование Astra Linux Special Edition 1.8
    2 недели
    Далее
  • Skillbox
    Linux для робототехников
    3 месяца
    Далее
  • Skillfactory
    Профессия C++ разработчик
    11 месяцев
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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