给定一个包含多语言 .txt 文件的子文件夹,例如:
But where is Esope the holly Bastard
But where is 생 지 옥 이 군
지 옥 이
지 옥
지
我 是 你 的 爸 爸 !
爸 爸 ! ! !
你 不 會 的 !
我已经知道如何 count space-separated word-frequency within ONE file.txt 强>:
$ grep -o '\w*' myfile.txt | awk '{a[$1]++}END{for(k in a)print a[k],k}' | sort > myoutput.txt
变得优雅:
1 생
1 군
1 Bastard
1 Esope
1 holly
1 the
1 不
1 我
1 是
1 會
2 이
2 But
2 is
2 where
2 你
2 的
3 옥
4 지
4 爸
5 !
如何更改代码以处理文件夹及其子文件夹中的多个文件,所有文件都呈现相似的模式(至少 *.txt)?
最佳答案
您可以使用 find
命令。像这样:
find -iname '*.txt' -exec cat {} \; | grep -o '\w*' | awk '{a[$1]++}END{for(k in a)print a[k],k}' | sort
我正在使用选项 -exec
来捕获当前目录及其子目录中的每个 *.txt 文件。输出将通过管道传输到您的 grep|awk|sort 管道。
关于regex - Awk:如何处理文件夹和子文件夹中的多个 files.txt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15604897/