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

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

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

Дано test.txt:
ABCD
777

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

Вывод:
ABCD
777

Необходимый вывод:
777
  • Вопрос задан
  • 1329 просмотров
Подписаться 2 Средний 4 комментария
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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