LINUX.ORG.RU

Вопрос про grep.

 


0

1

Доброго всем.
есть такое:

grep -o -E '\}\{2\:.{20}' file
Мне надо вывести не 20 символов, а символы с 16-го по 20-ый.
Спасибо.

★★★★★

Ответ на: комментарий от Anon

Я попробовал, не работает.
Просто я думал, что \{ примится как символ, а в моём случае это как раз таки не надо.

dada ★★★★★
() автор топика
Ответ на: комментарий от dada
echo -e "start<a>hello\nmore words\n<b>aa</b>\nstop</a>more\n text"| sed -e '/<a>/,/<\/a>/!d' -e 's/.*\(<a>.*\)/\1/' -e 's/\(.*<\/a>\).*/\1/'
<a>hello
more words
<b>aa</b>
stop</a>

Да, кастование в редактировании не работает!

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

эмм, я кажись не так объяснил.
есть строки типа:

:50:stroka1stroka1
stroka2stroka2stroka2
:70:fignyafignya
Надо вытащить всё между :50: и :70:

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

Сложно что ли поменять немного?

echo -e ":50:stroka1stroka1\nstroka2stroka2stroka2\n:70:fignyafignya" | sed -e '/:50:/,/:70:/!d' -e 's/.*:50:\(.*\)/\1/' -e 's/\(.*\):70:.*/\1/'
stroka1stroka1
stroka2stroka2stroka2

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

Ты в Баку был ?
Тут есть на что посмотреть, где посидеть, вкусно покушать и хорошенько выпить. =)

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

Ещё вопрос:
grep -EA1 \:50 file | grep -v «^\:»
Как это дело сделать без пайпа ?
Так не работает:
grep -E \:50 -A1 -v «^\:» file
Думает, что после -v это файл.
Bagrov

dada ★★★★★
() автор топика
Последнее исправление: dada (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.