예를 들어 콘텐츠가 포함된 파일이 있습니다.
hello world
it's nice to see you
amazing night
what a wonderful day
my name is Robert
still breathing
speaking bottom soul
something wrong
두 번째 단어에 정확히 두 개의 모음이 있는 줄을 일치시켜야 합니다. 따라서 출력은 다음과 같아야 합니다.
it's nice to see you
my name is Robert
speaking bottom soul
grep을 사용하여 이 작업을 어떻게 수행할 수 있나요?
답변1
확장 정규 표현식을 사용한 grep:
grep -iE '^[^[:blank:]]+[[:blank:]]+([^aeiou]*[aeiou]){2}[^aeiou]*\>' file
grep 및 PCRE
grep -iP '^\S+\s+([^aeiou]*[aeiou]){2}[^aeiou]*\b' file
Perl (솔직히 저는 steeldriver의 의견과 별개로 이 작업을 수행했습니다)
perl -ane 'print if (lc($F[1]) =~ tr/aeiou/aeiou/) == 2' file
앗
awk '{col2 = tolower($2); gsub(/[aeiou]/,"",col2)} length($2) - length(col2) == 2' file