줄 바꿈을 제외한 공백을 찾는 방법은 무엇입니까?

줄 바꿈을 제외한 공백을 찾는 방법은 무엇입니까?

오늘은 파일의 어떤 줄에 후행 공백이 포함되어 있는지 확인해야 합니다. 나는 해결책을 생각해 냈습니다.

grep -Enr --color "\s+$" ./

이는 Unix가 아닌 줄바꿈이 포함된 줄을 제외하고는 잘 작동합니다.

이러한 개행은 유효한 일치로 간주됩니다 \s.

OSX에서 제외하는 방법은 무엇입니까 grep?

답변1

일치를 원하지 않는다고 가정하면 \r탭이나 공백 뒤에만 있고 다른 것은 아무것도 지정하지 않을 수 있습니다.

grep -P '[\t ]$' file 

OSX를 사용하고 있으므로 grep해당 기능이 없으므로 -P다음을 시도해 볼 수 있습니다.

grep -E $'\t'"| $" file 

또는 POSIX 문자 클래스를 사용할 수 있습니다.

grep  '[[:blank:]]$' file

에 설명된 대로 man wctype문자 [[:blank:]]클래스는 "isblank(3) 분류 함수를 구현"하며 에 설명된 대로 man isblank다음과 같습니다.

   isblank()
      checks for a blank character; that is, a space or a tab.

마지막으로 사용할 수 있는 또 다른 도구가 있습니다.

    sed -n '/[\t ]$/p' file 
    perl -ne 'print if /[\t ]$/' file 

관련 정보