![grep + 점 문자 앞에 백슬래시를 추가해야 하는 경우](https://linux55.com/image/182591/grep%20%2B%20%EC%A0%90%20%EB%AC%B8%EC%9E%90%20%EC%95%9E%EC%97%90%20%EB%B0%B1%EC%8A%AC%EB%9E%98%EC%8B%9C%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%B4%EC%95%BC%20%ED%95%98%EB%8A%94%20%EA%B2%BD%EC%9A%B0.png)
폴더 아래——/var/my_private_pkgs
ISO rhel 8.0에서 분리된 패키지를 이동했습니다.
rhel8.0aa
rhel8.0ab
rhel8.0ac
.
.
우리는 바이트 단위의 패킷 합계를 확인하기 위해 다음을 수행합니다.
du -sb /var/my_private_pkgs/* | grep rhel8.0[a-z]
419430400 rhel8.0aa
419430400 rhel8.0ab
419430400 rhel8.0ac
.
.
하지만 위의 경우 점 앞에 백슬래시를 추가해야 하는지 잘 모르겠습니다. grep에서 다음과 같이
du -sb /var/my_private_pkgs/* | grep rhel8\.0[a-z]
둘 다 할 수 있나요? ,
아니면 점 앞에 백슬래시를 추가하는 것이 더 나을까요?
답변1
일치시키려면 백슬래시를 추가해야 합니다 .
!
정규식에서 .
"모든 문자"를 의미하는 특수 문자입니다. 예를 들어, 원하지 않는 콘텐츠
도 일치합니다 .rhel18x0a
그런데, 쉘이 백슬래시를 해석하고 다음으로 보내기 전에 효과적으로 제거하므로 패턴도 인용해야 합니다 grep
.
du -sb /var/my_private_pkgs/* | grep 'rhel8\.0[a-z]'