파일에서 숫자가 포함된 단어 수를 알아보세요.

파일에서 숫자가 포함된 단어 수를 알아보세요.

숫자가 포함된 특정 파일에서 총 단어 수를 찾으려고 합니다. 특정 숫자는 아니고, 어떤 숫자라도 포함된 단어만 찾고 있어요. 다음과 같이 grep 및 wc 명령을 사용해 보았습니다.

grep [0-9] filename | wc -w

내가 얻는 결과는 "일치하지 않음"입니다. 내가 뭘 잘못하고 있는지 누가 볼 수 있나요?

도움을 주셔서 미리 감사드립니다.

답변1

쉘이 자체 구문 규칙을 사용하여 괄호를 해석하고 있기 때문에 일치하는 항목을 얻지 못하는 것 같습니다. 따옴표로 묶어야 합니다. 하지만 이 문제가 아니더라도 같은 줄에 나오는 모든 단어(또는 모든 유형)를 숫자로 계산합니다. 그것은 당신이 원하는 것이 아닙니다.

나는 이것을 제안한다:

grep -wo '[[:alnum:]]*[0-9][[:alnum:]]*' filename.txt | wc -w

0개 이상의 알파벳 문자, 그 뒤에 최소한 하나의 숫자, 0개 이상의 알파벳 문자가 포함된 문자열을 찾습니다.

-w옵션은 전체 단어만 계산합니다. 이 -o옵션은 각 일치 항목을 해당 줄에 배치하고 일치 항목만 인쇄하므로 같은 줄에 다른 단어는 표시되지 않습니다. wc -w단어를 세어보세요.

관련 정보