16진수 모드에서 텍스트 파일의 내용을 보고 싶습니다.
이것을 시도해 보았는데 :%!xxd
문제는 어떤 16진수 코드가 각 문자를 나타내는지 실제로 이해할 수 없다는 것입니다. 예를 들어 Ultra Edit와 같은 편집기를 사용하여 16진수 코드를 보면 해당 문자가 강조 표시됩니다.
그렇다면 내 상황에 맞게 비슷한 작업을 어떻게 수행할 수 있습니까?
내 문제에 대한 배경 정보를 제공하기 위해 파일을 생성하는 스크립트가 있고 각 줄이 (LF)로만 끝나는 perl
지 확인하고 싶습니다 .0x0A
이상한 점은 파일을 열고 vim
를 사용하면 스크립트에서 명시적으로 수행했는데도 :set list
볼 수만 있다는 것입니다.$
$line .= "\r\n"
답변1
당신은 시도 할 수 있습니다:
open my $fh, '>', 'test.txt'
or die "$!";
binmode $fh;
print $fh "QWERTY\n";
기본적으로 줄 끝에만 포함되어 있기 때문에 $
in 만 볼 수 있습니다 . 에서 :vim
listchars
$
:help listchars
'listchars' 'lcs' string (default "eol:$")
global
{not in Vi}
Strings to use in 'list' mode and for the :list command. It is a
comma separated list of string settings.
lcs-eol
eol:c Character to show at the end of each line. When
omitted, there is no extra character at the end of the
line.
실제 줄 끝을 알아 보려면 다음을 시도 file
하십시오 cat
.
$ file test.txt
test.txt: ASCII text, with CRLF line terminators
$ cat -e test.txt
QWERTY^M$
답변2
텍스트 파일에서 인쇄할 수 없는 문자를 보는 POSIX 이식 가능한 방법은 다음과 같습니다.
sed -n l <file
이식 가능한 것 외에도 sed
- 한 번 사용을 피하고 인쇄할 수 없는 문자에 대해 C 스타일 또는 8진수 이스케이프를 사용하면 해당 줄은 기본적으로 두 번 인쇄된 -n
다음 일반적으로 표시되는 것처럼 즉시 다시 인쇄됩니다.
다음과 같이 할 수도 있습니다.
sed =\;l <file
출력 라인 쌍을 라인 번호로 구분합니다.