텍스트 파일의 후행 공백을 인쇄하고 볼 수 있기를 원합니다(제거할 수는 없고 표시만 함).
인쇄되지 않는 문자를 표시하기 위해 이것을 사용하려고 시도했지만 cat -v
예상대로 표시되지 않습니다(줄 사이에 시각적 차이가 없음). 예를 들어
$ printf "foo\nbar \t\n" > file.txt
$ cat -v file.txt
foo
bar
git diff
공백을 인쇄/표시한다는 것은 다른 줄이나 특수 문자, 색상(예: 디스플레이 파일을 사용할 때 ) 등에 비해 후행 공백이 존재한다는 시각적인 인간 표시를 의미합니다 .
다른 방법이 있나요?
참고: 저는 macOS Sierra를 사용하고 있지만 GNU 및 BSD cat
명령에 액세스할 수 있습니다.
$ 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
그러면 패턴이 강조 표시됩니다(이 경우 후행 공백).