Форум — General Вопрос про grep. grep 0 1 Доброго всем. есть такое: grep -o -E '\}\{2\:.{20}' file Мне надо вывести не 20 символов, а символы с 16-го по 20-ый. Спасибо. Ссылка
Ответ на: комментарий от Anon 27.09.13 09:49:59 MSK Всё отработало, спасибо. Только я не понял, зачем экранирование нужно ? dada ★★★★★ (27.09.13 09:53:42 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от dada 27.09.13 09:53:42 MSK А ты попробуй без экранирования. В баше не сработает. Anon (27.09.13 09:58:14 MSK) Показать ответ Ссылка
Ответ на: комментарий от Anon 27.09.13 09:58:14 MSK Я попробовал, не работает. Просто я думал, что \{ примится как символ, а в моём случае это как раз таки не надо. dada ★★★★★ (27.09.13 09:59:52 MSK) автор топика Ссылка
Я за coreutils, они для новичка проще.grep -o -E '\}\{2\:.{20}' file | cut -c 16-20 Bagrov ★★★★★ (27.09.13 10:19:55 MSK) Показать ответы Ссылка
Ответ на: комментарий от Bagrov 27.09.13 10:19:55 MSK Да хоть awk! Anon (27.09.13 10:21:09 MSK) Ссылка
Ответ на: комментарий от Bagrov 27.09.13 10:19:55 MSK Ещё вопрос, как взять всё от тега a1, который на 5 строке до тега а2, который на 7-ой строке ? cast Anon dada ★★★★★ (27.09.13 10:35:46 MSK) автор топика Последнее исправление: dada 27.09.13 10:36:04 MSK (всего исправлений: 1) Показать ответ Ссылка
Ответ на: комментарий от dada 27.09.13 10:35:46 MSK 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 (27.09.13 10:52:06 MSK) Показать ответ Ссылка
Ответ на: комментарий от Anon 27.09.13 10:52:06 MSK эмм, я кажись не так объяснил. есть строки типа::50:stroka1stroka1 stroka2stroka2stroka2 :70:fignyafignya Надо вытащить всё между :50: и :70: dada ★★★★★ (27.09.13 11:03:55 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от dada 27.09.13 11:03:55 MSK Сложно что ли поменять немного? echo -e ":50:stroka1stroka1\nstroka2stroka2stroka2\n:70:fignyafignya" | sed -e '/:50:/,/:70:/!d' -e 's/.*:50:\(.*\)/\1/' -e 's/\(.*\):70:.*/\1/' stroka1stroka1 stroka2stroka2stroka2 Anon (27.09.13 11:06:31 MSK) Показать ответ Ссылка
Ответ на: комментарий от Anon 27.09.13 11:06:31 MSK Спасибо тебе большое добрый дядька =) Будешь в наших краях, с меня вкусное пиво. dada ★★★★★ (27.09.13 11:42:11 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от dada 27.09.13 11:42:11 MSK Вряд ли. Уж лучше вы к нам ☺ Anon (27.09.13 11:43:01 MSK) Показать ответ Ссылка
Ответ на: комментарий от Anon 27.09.13 11:43:01 MSK Ты в Баку был ? Тут есть на что посмотреть, где посидеть, вкусно покушать и хорошенько выпить. =) dada ★★★★★ (27.09.13 12:00:55 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от dada 27.09.13 12:00:55 MSK Не был. Может быть, когда-нибудь да съезжу. Боязно как-то через Чечню переться. Anon (27.09.13 12:05:02 MSK) Показать ответ Ссылка
Ответ на: комментарий от Anon 27.09.13 12:05:02 MSK Ещё вопрос: grep -EA1 \:50 file | grep -v «^\:» Как это дело сделать без пайпа ? Так не работает: grep -E \:50 -A1 -v «^\:» file Думает, что после -v это файл. Bagrov dada ★★★★★ (02.10.13 09:54:44 MSK) автор топика Последнее исправление: dada 02.10.13 09:55:10 MSK (всего исправлений: 1) Ссылка