[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: recursively count the words occurrence in the text files



Hi,

S Mathias wrote:
I just can't google for it:

I'm searching for a "bash" "one liner" (awk, perl, or anything) for this: there are text files, in several directories:
mkdir one
mkdir two
mkdir three

echo "word1 word2 word3" > one/asf.txt
echo "word2 word4, word5" > one/asfcxv saf.txt
echo "word1. word2" > one/dsgsdg.txt

echo "word6, word3!" > two/sdgsd dsf.txt
echo "word6" > two/ergd.txt

echo "asdf, word2" > three/werdf.txt
echo "word7, word8 word9 word10" > three/qwerb erfsdgdsg.txt
echo "word4 word3" > three/web erg as.txt

so it does the magic* "recursively":

$ SOMEMAGIC > output.txt
cat output.txt
asdf 1
word1 2
word2 4
word3 3
word4 2
word5 1
word6 2
word7 1
word8 1
word9 1
word10 1
$

find . ! -name output.txt -type f|xargs cat | \
   tr -s ' .,' '\n\n\n'|sort -u | \
   while read x;do find . ! -name output.txt -type f| \
   xargs cat|echo $x: `grep -c $x `;done | \
   tee output.txt

That was fun... of course, it was a one liner, but I added the formatting above for the email ;-)

Cheers

--
Kind Regards
AndrewM

Andrew McGlashan
Broadband Solutions now including VoIP


Reply to: