정규 표현식을 작업 중인데 당황스럽습니다. 지금까지의 과정은 다음과 같습니다.
이 파일을 다운로드했습니다.
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
.