LINUX.ORG.RU

Как в bash вывести содержимое файла до конкретной строки?

 , содержимое, ,


0

2

В файле есть строка "---".

Нужно вывести все содержимое файла до первого появления данной строки (надо вывести, включая саму строку).

А как вывести все содержимое файла после первого появления искомой строки? (надо вывести, исключая саму строку).

★★★★★

Исключая:

cat file.txt | awk '/---/{exit 0}{print $0}'
Включая:
cat file.txt | awk '{print $0}/---/{exit 0}'

blexey ★★★★★
()
Последнее исправление: blexey (всего исправлений: 1)

man awk?

$ cat foo
1
2
3
---
4
5
$ cat foo | awk '{ print } $0 == "---" { exit(0) }'
1
2
3
---
$ cat foo | awk 'go { print } $0 == "---" { go = 1 }'
4
5
ilammy ★★★
()
Ответ на: комментарий от WitcherGeralt

только возможно надёжнее будет ^---$.

тс, ты теперь должен ведьмаку звезду. не стыдно тебе с пятью звёздами такие вопросы задавать?

anonymous
()
Ответ на: комментарий от anonymous

лор исправил + на буллет, собака

anonymous
()

Костыльный вариант с grep:

#Вывести строки после, включая строку:
grep -A <num_rows> <pattern> <file>
#Вывести строки до, включая строку:
grep -B <num_rows> <pattern> <file>
В <num_rows> подставляешь выхлоп cat <file> | wc -l

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 2)
Ответ на: комментарий от anonymous

ты теперь должен ведьмаку звезду. не стыдно тебе с пятью звёздами такие вопросы задавать?

Абсолютно не стыдно, я до bash добираюсь раз в несколько лет, и очень этому рад.

Вообще, ты больной человек с явными психическими девиациями. Нормальному человеку совершенно не стыдно спрашивать то, что он не знает. Или то, что знает, но не допонимает. Или хочет услышать мнение коллег. Это называется развитие. Тот, кто сидит и боится задать лишний вопрос, чтобы окружающие не дай бог не подумали что человек чего-то не знает, например ты, называется задротом. Задрот может быть хорошим специалистом, обычно в узкой области, но усилия, которыми он этого добивается, очень непроизводительны. Задрот сам себе искусственно или в силу врожденных причин, ограничивает себе развитие.

Невозможно по книгам и интернету хорошо разобраться со сложными концепциями в отрыве от общества. Мало того, задрот обычно обеспечивается окружающим обществом в своем существовании: ему, по сути, создают искусственный источник дохода. И эта тварина этот доход непроизводительно проедает: в первый раз когда вместо быстрого докапывания до сути, задродствует в одиночку, второй раз - когда скрывает свои знания и вместо быстрой помощи другим людям, исходит на них желчью. Третий раз - когда рассказывает что задавать вопросы - это стыдно, желая распространить свое задродство на других. В общем, задрот - это не просто бесполезное существо, но и паразит на теле общества.

Не надо таким быть.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

я до bash добираюсь раз в несколько лет, и очень этому рад.

Осталось выяснить, при чем тут bash

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.