次のように、中国語の単語に英語の単語が付いている単語列があります。
軽蔑感********
嫌いな**********
(星は漢字を表します。)
英語の単語を分離して別のファイルに入れるスクリプトを作成したいと思います。スクリプトでこのようなことを達成できますか?
どんな提案でも歓迎します。
答え1
もちろん、英語の単語はラテン文字を使用し、中国語の単語はそうではないので、最初のビラテン語の記号で始まる行の終わりを削除するだけです。
sed 's/[^a-zA-Z ].*//' < source-file > result-file
答え2
スペース、タブ、英語を除くすべての文字を削除するだけです。
sed 's/[^a-zA-Z ]//g' <source >result
Unicode互換モードを使用するときは注意してください。
追加の後処理を実行することもできます。
for i in $(cat result);do echo "$i";done|sort|uniq
アルファベット順に並べ替えresult
、重複する項目を削除します(「the」、「a」、および「for」はこの文書に複数回表示される場合があり、そのうちの1つのみが必要になる場合があります)。
答え3
grep -Po '[\x00-\x77]+' source > justEN.txt