특정 길이의 파일을 찾기 위해 정규식을 배우려고 하시나요?

특정 길이의 파일을 찾기 위해 정규식을 배우려고 하시나요?

다양한 길이의 국가 목록이 포함된 파일이 있습니다. 파일이 호출 countries되고 내 작업 디렉토리에 있습니다.

grep어떤 국가에 9개 이상의 문자가 있는지 알려주는 명령을 실행하고 싶습니다 .

현재 구문을 올바르게 작성하려고 노력 중입니다.

다음 내용을 살펴볼까요?

grep '^.\{9\}' countries

방금 위의 방법을 시도했지만 아무 것도 작동하지 않는 것 같나요?

답변1

이것은 나에게 효과적입니다. 9개 이상의 문자(공백 포함)를 포함하는 모든 단어를 반환합니다.

grep -oh '.\{9,\}' countries

질문을 다시 읽은 후 업데이트되었습니다. 이번에는 문자만 일치합니다. 따라서 9개 이상의 연속 문자가 포함된 국가 이름이 필요한 경우 여기에 제 제안이 있습니다.

grep -ioh '[a-z]\{9,\}' countries

이는 "서독"과 일치하지 않습니다. 이 예에서 국가 이름을 11 또는 12로 간주하는지에 따라 다릅니다. 그러나 "길이"는 9보다 크거나 같습니다.

답변2

9개 이상의 문자를 나타내는 ","(쉼표)가 누락되었습니다.

grep '^.\{9,\}' countries

관련 정보