正規表現に取り組んでいますが、困惑しています。これまでのプロセスは次のとおりです。
このファイルをダウンロードしました。
wget http://www.mieliestronk.com/corncob_lowercase.txt
mv corncob_lowercase.txt words.txt
3文字の単語がすべて欲しい...
grep '^...$' words.txt
これで「abe」が検索されます。
grep '^abe.$' words.txt
「abe」が見つかりませんでした。
grep '^abe$' words.txt
これは、実際にはArch Linuxに付属のライブラリで「abe」として見られます。
grep '^abe$' /usr/share/dict/cracklib-small
私はこの質問のために恥ずかしいです。
答え1
$ file corncob_lowercase.txt
corncob_lowercase.txt: ASCII text, with CRLF line terminators
DOS行の終わりが問題の原因である可能性があります。 CRは、少なくともある目的では文字と見なされます。
dos2unix
、またはを実行する前にtr -d '\r'
を実行してくださいgrep
。