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