楽しみのために、このスクリプトをコマンドラインutilsを使用してbashで記述したいと思います。
# make the corpus
echo -e "this \t is a \n cor-pus; \nthis \t\nis \n\t sparta. \n" > corpus.txt
# munge, collapse whitespace, tokenize
cat corpus.txt | tr -d '.!@#$%^&*()-_=+' | tr '\t' ' ' | tr '\n' ' ' | tr -s ' ' | fmt -1 | uniq -c | sort -rn
私が期待する
2 this
2 is
1 a
1 corpus
1 sparta
しかし、私は得る
1 this
1 is
1 a
1 corpus
1 this
1 is
1 sparta
uniq
パイプすると失敗しますfmt -1
。おそらく、私が見ないeof文字がありますcat -e
か?uniq
行とファイルをどのように決定しますか?
echo a a b | fmt -1 | uniq
私も期待どおりに動作するので... | fmt -1 | uniq | ...
、スクリプトのが機能しない理由がわかりません。
ありがとう