2013-12-11 67 views
0

我請求一個shell或awk腳本,用於查找出現三次出現同一個字母的單詞。示例 - arcadias。Shell或awk腳本來查找單詞的出現次數

謝謝。

+5

我們還要求您付出一些努力:您嘗試了什麼?你卡在哪裏? – fedorqui

+0

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

+1

補充一下,它就被擱置了,就像我剛剛發佈嚴格功能性的'cat file | tac | grep。 | tac | sed's// \ n/g'|同時讀字;做回聲「$ word」| sed's /./&/ g'| tr'''\ n'|排序| uniq -c | grep「^ * 3 *」>/dev/null && echo「$ word」;完成「以查看OP是否有一些他希望分享的額外要求:-)。 –

回答

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個特定的字符,你會看到它打印兩次。 –