Форум — Development Shell, посчитать количество вхождений 0 0 Программа выдаёт на консоль текст, нужно посчитать количество вхождений некоего слова. Ссылка
Ответ на: комментарий от Die-Hard 28.04.08 13:34:57 MSD там нет \n seiken ★★★★★ (28.04.08 13:43:05 MSD) автор топика Ссылка
Ответ на: комментарий от Die-Hard 28.04.08 13:34:57 MSD Не, так просто не проканает... Во: $echo "test test test" |sed 's/test/test\n/g'|grep -c test 3 Die-Hard ★★★★★ (28.04.08 13:44:50 MSD) Показать ответ Ссылка
Ответ на: комментарий от Die-Hard 28.04.08 13:44:50 MSD И даже не так! sed 's/test /test \n/g'|grep -c test Die-Hard ★★★★★ (28.04.08 13:48:28 MSD) Показать ответ Ссылка
Ответ на: комментарий от Die-Hard 28.04.08 13:48:28 MSD работает. Только я пробелы убрал. Эх... пора бы мне уже sed изучить, но всё как-то руки не доходят или лень... seiken ★★★★★ (28.04.08 13:54:52 MSD) автор топика Показать ответ Ссылка
Ответ на: комментарий от seiken 28.04.08 13:54:52 MSD > Только я пробелы убрал. Осторожнее с пробелами, например: $echo "test ыыtestss test" |sed 's/test /test \n/g'|grep -c test 2 $echo "test ыыtestss test" |sed 's/test/test\n/g'|grep -c test 3 Die-Hard ★★★★★ (28.04.08 14:02:36 MSD) Показать ответ Ссылка
Ответ на: комментарий от Die-Hard 28.04.08 14:02:36 MSD ну мне как раз последний вариант нужен, т.к. отладочный вывод при исключении промежуточного кода имеет тенденцию сваливаться в неудобоваримую кашу seiken ★★★★★ (28.04.08 14:06:44 MSD) автор топика Ссылка
Ответ на: удаленный комментарий awk -F'test' 'NF > 0 { coun+=NF-1 } END { print coun }' dilmah ★★★★★ (28.04.08 14:14:12 MSD) Показать ответ Ссылка
Ответ на: комментарий от Jini 28.04.08 16:25:49 MSD > grep -o text Не канает: $echo "test ыыtestss test" |grep -o test| wc -l 3 Die-Hard ★★★★★ (28.04.08 16:50:09 MSD) Показать ответ Ссылка
Ответ на: комментарий от dilmah 28.04.08 14:14:12 MSD > awk -F'test' 'NF > 0 { coun+=NF-1 } END { print coun }' Не канает: $echo "test ыыtestss test" | awk -F'test' 'NF > 0 { coun+=NF-1 } END { print coun }' 3 Die-Hard ★★★★★ (28.04.08 16:52:02 MSD) Показать ответ Ссылка
Ответ на: комментарий от Die-Hard 28.04.08 16:50:09 MSD Думай ширше! [~]> echo "test ыыtestss test" | grep -o '\<test\>'| wc -l 2 Jini ★★ (28.04.08 17:02:20 MSD) Показать ответ Ссылка
Ответ на: комментарий от Die-Hard 28.04.08 16:52:02 MSD > Не канает: $echo "test ыыtestss test" | awk -F'test' 'NF > 0 { coun+=NF-1 } END { print coun }' 3 а подробнее? я вижу три слова test:) Или слово должно быть разделено пробелами? Тогда: awk -F'(^|[[:space:]])test($|[[:space:]])' 'NF > 0 { coun+=NF-1 } END { print coun }' dilmah ★★★★★ (28.04.08 17:09:58 MSD) Показать ответы Ссылка
Ответ на: комментарий от dilmah 28.04.08 17:09:58 MSD вообще, если нужно считать именно слова, то имхо так лучше: tr -c [:alpha:] \\n | grep '^test$' | wc -l dilmah ★★★★★ (28.04.08 17:16:28 MSD) Ссылка
Ответ на: комментарий от Jini 28.04.08 17:02:20 MSD > Думай ширше! :-) Убедил! Die-Hard ★★★★★ (28.04.08 21:25:20 MSD) Ссылка
Ответ на: комментарий от dilmah 28.04.08 17:09:58 MSD > Или слово должно быть разделено пробелами? Ответ знает только топикстартер! :-) Думаю, он во всем разобрался уже... Die-Hard ★★★★★ (28.04.08 21:27:29 MSD) Ссылка