테스트 파일을 받았는데 파일의 특정 열에 있는 단어 수를 셀 수 있어야 합니다. 문제는 일부 행에 숫자만 포함되어 있다는 것입니다.
나는 그것이 wc
어떤 것에 대한 단어 수를 제공할 것이라는 것을 알고 있습니다. 그러나 올바르게 기억한다면 숫자와 실제 단어를 구별하지 않습니다(따라서 0184674673 HELLO가 있는 파일은 두 단어 수를 모두 제공합니다). 복잡하지 않은 방법이 있습니까? (열의 각 행을 반복하고, 단어에 숫자가 있는지 확인하고, 숫자가 없으면 카운터를 증가시키는 것이 부족함) 이 문제를 해결하기 위한 명령이 있습니까?
제가 제공한 파일의 일부를 보려면 다음을 참조하세요.
disobedient RESINY GRAPHICS 저급 찌르기 이해할 수 없음 es 85790227 evil MINIS 윙크 지원자 TORPIDITIES 하위 텍스트 할당 카드 EKG 기계 소결 피트 페티쉬 Sherpa Fran veto 뉴스 리더 15318116 썩은 실행 뱅가드 langlang 만장일치 1411718 7 변형된 척 Goldenrod 18714723 국제 심사위원 토론 85192973 법적 책임 회피 안전 Scrofula 배제 핵종 난파선 서문 음란한 영양 감압 남자다운 집단 교섭 쫄깃한 이집트 피 묻은 이야기 가치 있는 포효하는 고어 제어할 수 없는 피해자 이중 재봉 5363130 불안한 매력 건조하고 무례한 심술궂은 고통 94854804 JETSAMS 야만인 철회 경향 전문 용어 승인 퍼레이드 넥타이 USHER 규정 준수 경멸 98908803 CANDI DACY Rostov는 사전 낙관론자를 적정합니다. 관절형 사마귀 RAPINE 94683675 절단 65196125 뷰파인더 축소 거부 알파인 스타 하이힐 여성 럭키 가부장 반공산주의
답변1
wc를 제한하지 않으면 sed와 같은 도구를 사용하여 숫자를 필터링한 다음 wc를 사용하여 단어 수를 계산할 수 있습니다.
테스트 파일의 텍스트를 고려하면 다음과 같습니다.
$ sed -e s/[0-9]*//g testfile
불순종 레진 그래픽 비열한 남자 악랄한 미니 깜박이는 신청자 토피티스 하위 텍스트 할당된 카드 심전도 기계 소결 발바닥 집착 셰르파 포를란 베토 뉴스 리더 썩은 처형 선구자 랭 랑 지속적으로 변형된 척 소 꽃 심판 국제 토론률 탈출 안전 스크로풀라 핵 난파선 프롤로그 음란한 영양 감압 남자다움 협상 쫄깃함 이집트 블러디 스토리 더 가치 있는 포효 고어 제어할 수 없는 피해자 이중 역겨움 매혹적 화려함 변덕스러움 무례함 비열함 비열함 고통 Jessams 야만적 포획 성향 자딘 승인 퍼레이드 타이 힐리어 사용자 준수 경멸 후보 로스토프 적정 사전 최적화 IST LUT 사마귀 RAPINE 식인종 적개심 KALI 예배 절단 찾기 업그레이드 수축 거부 알프스 스탈 힐레스 페미니즘 행운의 가부장제 반공주의
내가 사용하고 있는 정규식 패턴에는 숫자 뒤의 공백이 제거되지 않는다는 단점이 있지만 이는 wc를 사용하여 계산하는 데 중요하지 않은 것 같습니다.
파이프라인 필터링을 사용한 후 wc를 직접 사용하여 단어 수를 계산할 수 있습니다.
$ sed -e s/[0-9]*//g testfile | wc
2 104 1035