lupo@gentoo-laptop /tmp % wgetpaste test.txt
Your paste can be seen here: http://bpaste.net/show/40574/
Shell-процедура. Поиск омонимов (одинаковых слов)
lupo@gentoo-laptop /tmp % wgetpaste test.txt
Your paste can be seen here: http://bpaste.net/show/40574/
н-да. тут проблемма в разбиении на слова. надо изменить код так что бы он правильно разбивал текст на отдельные слова, будем думать.
cat slovo.test | tr ' ' '\n' | sed 's/[\., ]//' | sed 's/[)]//' | sed 's/(//' | sort | grep "." > omonimys_temp cat omonimys_temp | uniq -c | sed -e 's/^ *//' > tmp
man mktemp
н-да. тут проблемма в разбиении на слова. надо изменить код так что бы он правильно разбивал текст на отдельные слова, будем думать.
вообще-то для этого имеются метасимволы \b (граница слова) \< (левая граница) и \> (правая граница)
Кроме того имеется метасивол \w (словообразующий символ, это любая буква, подчерк, и цифры), и \W (не словообразующий символ)
Таким образом, что-бы стереть все неслова можно воспользоваться например выражением s/\>\W*\</ /g, которое заменит все промежутки между словами на пробел. В строке останутся лишь слова, разделённые пробелами. Для sed это работает и с русскими буквами/словами.
[quote="moshell"]cat slovo.test | tr ' ' '\n' | sed 's/[\., ]//' | sed 's/[)]//' | sed 's/(//' | sort | grep "." > omonimys_temp cat omonimys_temp | uniq -c | sed -e 's/^ *//' > tmp
man mktemp
н-да. тут проблемма в разбиении на слова. надо изменить код так что бы он правильно разбивал текст на отдельные слова, будем думать.
вообще-то для этого имеются метасимволы \b (граница слова) \< (левая граница) и \> (правая граница)
Кроме того имеется метасивол \w (словообразующий символ, это любая буква, подчерк, и цифры), и \W (не словообразующий символ)
Таким образом, что-бы стереть все неслова можно воспользоваться например выражением s/\>\W*\</ /g, которое заменит все промежутки между словами на пробел. В строке останутся лишь слова, разделённые пробелами. Для sed это работает и с русскими буквами/словами.[/quote]
Спасибо, полезная информация. В мануалах по sed я такого не видел.
Спасибо, полезная информация. В мануалах по sed я такого не видел.
имхо легче (хотя все равно трудно) заюзать доктора и другие ресурсы инета, чем начать изучать sed в man-пагере.
после получения необходимых знаний можно уже и маны почитать