2013-12-11 2 views
0

Я запрашиваю оболочку или скрипт awk, который обнаруживает вхождения слов, имеющих три вхождения одной и той же буквы. Пример - arcadias.Shell или awk-скрипт для поиска вхождений слов

спасибо.

+5

Мы также требуем от вас нескольких усилий: что вы попробовали? где вы застряли? – fedorqui

+0

http://www.delorie.com/gnu/docs/gawk/gawk_204.html –

+1

Darn it, он получил приостановлено, так как я собирался опубликовать строго функциональный 'cat file | tac | grep. | tac | sed 's// \ n/g' | при чтении слова; do echo "$ word" | sed 's /./&/g' | tr '' '\ n' | сортировать | uniq -c | grep "^ * 3 *">/dev/null && echo "$ word"; сделал, чтобы узнать, есть ли у ОП дополнительные требования, которые он хотел бы поделиться :-). –

ответ

2
$ grep -oP '\w*(\w)\w*\1\w*\1\w*' <<END 
I request a shell or an awk script that finds out the occurrences of words that 
have three occurrences of the same letter. Example - arcadias. 
END 
occurrences 
occurrences 
arcadias 
+0

Я собирался опубликовать нечто подобное. +1. Он даже перечисляет их в том порядке, в котором они появляются. –

0

Использование awk это печатает все слова с 3 или более буквами в одном слове.

echo "arcadias moron brareri" | awk '{for (i=1;i<=NF;i++) {n=split($i,a,"");for (j=1;j<=n;j++) {if (b[a[j]]++>1) print $i } delete b }}' 
arcadias 
brareri 
+0

Вы хотите использовать '== 2' вместо'> 1' или использовать 'break' - если слово содержит 4 определенного символа, вы видите его дважды напечатанным. –

Смежные вопросы