ssh1% cat temp
sarah
saab
marrrrrrrrra
marrrrrrrtha
ssh1% grep ar*a temp
grep: No match.
이것이 출력이 아니어야합니까?
sarah saab marrrrrra
Windows 10에서 putty와 nxclient를 사용하려고 합니다.
답변1
을(를) 사용 중입니다. 을(를 csh
) 확인 *
하고 다음으로 확장하려고 시도합니다.쉘 볼그리고 실패했습니다. 즉, csh
여기서 말하는 것은 '불일치'가 아니라 '불일치'입니다 grep
. 같지 않은Byrne 가족 껍질, csh
확장 불가능한 전역 패턴은 명령에 전달되지 않으므로 이를 참조 csh
하여 grep
.
그렇게 하고 싶지 않기 때문에 여기서는 작은따옴표를 사용하는 것이 좋습니다.끼워 넣다변수를 문자열에 넣습니다.
% grep 'ar*a' temp
sarah
saab
marrrrrrrrra
이 경우 패턴에 큰따옴표가 포함되어 있지 않기 때문에 큰따옴표도 작동 $
하지만 어쨌든 여기서는 작은따옴표를 사용하는 것이 좋습니다. 따옴표를 반교환적으로 사용할 수 있는 언어(예: 쉘, Perl 등)에서는 어떤 따옴표를 사용할지 신중하게 고려하는 것이 개발할 가치가 있는 습관입니다. 여기서는 문자열 보간이 필요하지 않으므로 이를 허용하는 인용 스타일을 사용하지 않도록 선택하겠습니다.
그런데 Bourne 쉘 제품군에서도 RE 모드를 호출해야 합니다. Mike Wagner가 위의 의견에서 암시했듯이 정규식과 전역 패턴으로 인해동일한 특수문자를 많이 사용하세요., 때로는 RE 패턴을 작성할 수도 있습니다발생하다또한 특정 파일과 일치하므로 실수로 셸에 의해 확장됩니다.