파일에 다음이 포함됨
Today is 1 nice day
This is a perfect day
Tomorrow is 1/2 cool 1/2 hot day
What is Toy Story
Tonight is a dark night
"To"로 시작하고
"day"로 끝나는 줄을 찾는 방법
이 명령 중 어느 것도 작동하지 않습니다
awk '/^To[*]day$/ {print}' file
awk '/^To*day$/ {print}' file
awk '/^To.day$/ {print}' file
awk '/^To[.]day$/ {print}' file
감사해요!
답변1
정규 표현식에서 .
모든 문자와 일치하며 *
설명할 내용에 첨부된 한정자입니다.0개 이상의 항목. 임의 .*
의 수(0개 이상)수치.
따라서 Angelo가 말했듯이 다음과 같이 할 수 있습니다.
awk '/^To.*day$/'
레코드의 시작( ^
) 뒤에는 To
임의 개수의 문자( .*
)가 오고 day
레코드의 끝( $
)이 옵니다.
또는 다음과 같이 작성할 수 있습니다.
awk '/^To/ && /day$/'
이는 문자가 아닌 문자를 포함하는 To
레코드 와도 일치합니다 . 또 다른 차이점은 / 를 / 로 day
바꾸면 일치한다는 것입니다 .To
day
abc
cde
abcde
답변2
awk '$0 ~ /^To.*day$/ {print}' file
그렇지 않으면
awk '/^To.*day$/ {print}' file
또는 심지어(기본 작업은 레코드를 인쇄하는 것이므로):
awk '/^To.*day$/' file