The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Поиск текста, Djeck (?), 16-Янв-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


8. "Поиск текста"  –1 +/
Сообщение от Djeck (?), 17-Янв-14, 13:05 
> Следи за руками:
> <test sed -nr 's/^.*uba ([0-9]+) rub.*$/\1/p'

волшебник! шаман! спасибо!
можно несколько вопросиков?

значок "<" перед test что означает?
и в конце /p что значит?

маны читал. про sed тоже читал. ну не доходит до меня значение ключей -n и -r
-r, --regexp-extended
использование в скрипте расширенных регулярных выражений.
-e script, --expression=script
добавление скрипта в исполняемые команды

сталкнулся еще с такой проблемой. страница html (оригинал) в кодировке 1251. а у меня пингвин utf8.

пробую так:
<http.txt | iconv -f cp1251 | sed -nr 's/^.*уба ([0-9]+) руб.*$/\1/p'

и ни как не поддается зверь!


Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

9. "Поиск текста"  +/
Сообщение от pavlinux (ok), 17-Янв-14, 16:54 
> значок "<" перед test что означает?

cat test |

> и в конце /p что значит?

print

Ответить | Правка | Наверх | Cообщить модератору

10. "Поиск текста"  +/
Сообщение от михалыч (ok), 18-Янв-14, 09:00 
> пробую так:
> <http.txt | iconv -f cp1251 | sed -nr 's/^.*уба ([0-9]+) руб.*$/\1/p'
> и ни как не поддается зверь!

За ненадобностью, нет смысла конвертировать цифры, ибо нужны только они.
sed -nr 's/^.* ([0-9]*) .*$/\1/p' test

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

12. "Поиск текста"  +/
Сообщение от Djeck (?), 20-Янв-14, 11:07 
>> пробую так:
>> <http.txt | iconv -f cp1251 | sed -nr 's/^.*уба ([0-9]+) руб.*$/\1/p'
>> и ни как не поддается зверь!
> За ненадобностью, нет смысла конвертировать цифры, ибо нужны только они.
> sed -nr 's/^.* ([0-9]*) .*$/\1/p' test

цифры должны относиться к чему то например к "Шуба" а не к сапогам.
задача была выцепить цену "Шуба". мы ищем "Шуба" и выдергиваем цену. Слова "Шуба" унас в 1251 соответвственно нужна перекодировка.

Ответить | Правка | Наверх | Cообщить модератору

13. "Поиск текста"  +/
Сообщение от михалыч (ok), 20-Янв-14, 12:01 
> цифры должны относиться к чему то например к "Шуба" а не к сапогам.
> задача была выцепить цену "Шуба". мы ищем "Шуба" и выдергиваем цену.
> Слова "Шуба" унас в 1251 соответвственно нужна перекодировка.

iconv -f cp1251 http.txt | sed -nr 's/^.*уба ([0-9]+) руб.*$/\1/p'

Ответить | Правка | Наверх | Cообщить модератору

11. "Поиск текста"  +/
Сообщение от Andrey Mitrofanov (?), 18-Янв-14, 10:52 
>> <test sed -nr 's/^.*uba ([0-9]+) rub.*$/\1/p'
> значок "<" перед test что означает?

то же, что и всегда, перенаправление в/в

> и в конце> пробую так:
> <http.txt | iconv -f cp1251 | sed -nr 's/^.*уба ([0-9]+) руб.*$/\1/p'
> и ни как не поддается зверь!

<file command -option1  -option2  -option3

это то же самое (чуть нетрадиционно записанное, но вызвавшее ошибку выше), что и любое из

command -option1  -option2  -option3 <file
command -option1  -option2 <file -option3
command <file -option1  -option2  -option3

потому, что перенаправление в/в и опции ком.строки парсят и/или обрабатывают разными программами в разное время

бессмысленно (хотя ошибки не даст, вроде) следующее

command -optionA -optionB -optionC | command2 <file -option1  -option2  -option3

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру