예를 들어 댓글 필터링이라는 일반적인 작업을 해결할 때 다음과 같이 할 수 있습니다.
grep -v ^# /etc/apache2/apache2.conf
이렇게 하면 주석과 빈 줄이 없습니다. 이것은 예상됩니다.
다른 방법은 다음과 같습니다.
grep ^[^#] /etc/apache2/apache2.conf
하지만 동일한 출력을 얻지만 빈 줄은 없습니다. 이유는 무엇입니까?
답변1
두 번째는 최소한 하나의 문자가 포함된 줄을 찾아서 문자가 없는 빈 줄은 일치하지 않도록 하는 것입니다. 둘 다 원한다면 다음을 시도해 보세요.
grep -e ^[^#] -e ^$ /etc/apache2/apache2.conf
답변2
grep -v ^#
- 다음으로 시작하지 않는 줄 제외
#
- 빈 줄은 으로 시작하지 않으므로
#
가 아닙니다.전임자포함됨
빌라
grep ^[^#]
- 다음을 제외한 모든 문자로 시작하는 줄을 포함합니다.
#
- 빈 줄은 다음으로 끝나지 않습니다.어느성격은 그렇지 않아요존재하다포함됨