텍스트 파일에 후행 공백을 표시하는 방법은 무엇입니까?

텍스트 파일에 후행 공백을 표시하는 방법은 무엇입니까?

텍스트 파일의 후행 공백을 인쇄하고 볼 수 있기를 원합니다(제거하지 않고 표시만 함).

인쇄되지 않는 문자를 표시하려고 시도했지만 cat -v예상대로 표시되지 않습니다(선 사이에 시각적 차이가 없음). 예:

$ printf "foo\nbar \t\n" > file.txt
$ cat -v file.txt 
foo
bar     

git diff인쇄/표시 공백이란 특수 문자, 색상(예: 파일을 사용하여 표시할 때 ) 또는 이와 유사한 것을 사용하지 않고 다른 줄과 비교하여 후행 공백이 있음을 시각적으로 인간이 나타내는 것을 의미합니다.

다른 방법이 있나요?


cat참고: 저는 macOS Sierra를 사용하고 있지만 GNU 및 BSD 명령 에 모두 액세스할 수 있습니다 .

$ type -a cat
cat is /usr/local/opt/coreutils/libexec/gnubin/cat
cat is /bin/cat
$ cat --version
cat (GNU coreutils) 8.28
$ /bin/cat --version
/bin/cat: illegal option -- -
usage: cat [-benstuv] [file ...]

답변1

gnu cat이에 대한 스위치가 있으므로 -E다음과 같은 입력으로

printf " one \ntwo \t\n"

그것은 인쇄됩니다

 one $
two    $

sed"원시" 모드에서 사용하는 등 해당 동작을 에뮬레이트하는 방법에는 여러 가지가 있습니다 .

sed -n l infile

또는

paste -d '$' infile /dev/null

$또는 텍스트 처리 도구를 사용하여 각 줄바꿈 앞에 를 추가하세요 .

다음과 같은 것을 시도해 볼 수도 있습니다.

less -p '[[:blank:]]+$' infile

패턴을 강조 표시합니다(이 경우 후행 공백).

관련 정보