宿題があります:
ファイルアリスにいくつかのユニークな単語があるか、そしてその数を調べてください。ソートされた一意の単語をalice_uniqueというファイルに印刷します。アポストロフィを使用して単語を分割すると、他の特殊文字と同様に正しく分割されます。
これまで私はこれを持っています
tr -sc 'A-Za-z' '\012' < alice | sort | uniq -c > alice_unique
ところで、特殊文字('、!、?など)を含む単語をどのように組み合わせるべきかわかりません。または、一意の単語の総数を計算する方法です。
テキストファイルAlice(スタート)
奇妙な国のアリス
ルイス・キャロル
ミレニアムパルクラムバージョン3.0
第1章 ウサギの洞窟に陥る
アリスはやることなく、ビーチにいる妹の隣に座っていることにうんざりし始めました。彼女は妹が読んでいる本を1、2回すすめましたが、その中には絵や会話がありませんでした。アリスは「これは何ですか?」と思いました。本ですよ、絵もなく会話もありませんか?」
それで彼女はデイジーチェーンを作る楽しさが起きてデイジーを拾う手間をするほど価値があるか一人で考えていました(暑い天気のために眠すぎて愚かだと感じたからです)。ピンクの目を持つウサギが彼女を通り過ぎています。
ベストアンサー1
<alice tr -cd "[:alpha:][:space:]-'" |
tr ' [:upper:]' '\n[:lower:]' |
tr -s '\n' |
sed "s/^['-]*//;s/['-]$//" |
sort |
uniq -c > alice_unique
一行ずつ:
- 文字、スペース、アポストロフィ、ハイフンを除くすべての項目を削除します。
- スペースを改行して大文字を小文字に変換
- 連続した改行を「圧着」
- 前または後のアポストロフィとハイフン除去
- 単語の並べ替え
- 各固有単語とその単語が表示される回数を表示します。
数字を単語として計算する必要がある場合、これは間違っています。テキストがASCIIでない場合は機能しない可能性があります。 ~のため奇妙な国のアリスおそらくこれで十分でしょう。