vi로 파일을 열면
~처럼
vi file
Current partition replica assignment
@
@
@
@
@
{"version":1,"partitions":[{"topic")]
@
@
@
@
@
Proposed partition reassignment configuration
하지만 나는 이 빈 줄을 제거하려고 합니다.
~처럼
sed -i 's/^ *//; s/ *$//; /^$/d; /^\s*$/d' file
또는
sed -i '/^$/d' file
또는
sed -i '/^$/d' file
여전히 파일에 빈 줄이 있습니다
빈/빈 줄을 제거하는 방법은 무엇입니까?
답변1
사람들은아니요빈 줄이지만 래핑 후에도 줄이 너무 길어서 화면에 표시되지 않습니다.
$ perl -e 'print "foo\n", "bar " x 4096' >/tmp/file
$ vim /tmp/file
foo
@
@
@
...
이것은기준설명하다:
시각적 모드에서 편집 버퍼의 줄(현재 줄 제외)이 디스플레이 하단의 렌더링에 사용할 수 있는 행에 꼭 맞지 않으면 편집기는 해당 줄의 어떤 부분도 표시하지 않도록 선택할 수 있습니다. 따라서 편집 버퍼의 텍스트를 포함하지 않는 표시 줄은 단일 "@" 문자로 구성되어야 합니다.
vim
이 옵션에 대한 설명서 도 참조하세요 display
.
"lastline"이나 "truncate"가 모두 포함되지 않으면 맞지 않는 마지막 줄은 "@" 줄로 대체됩니다.
^@
일반적으로 (캐럿 참고) 로 나타나는 null 바이트와 혼동하지 마십시오 . 또한 이 동작은 보편적이지 않습니다( 에서는 구현되지 않은 것 같습니다 nvi
).
답변2
이것은 나에게 효과적입니다. 파일에 do null 값이 있어야 할 수도 있습니다.
확인하다:
vim -b file
유닉스로 변환
dos2unix file
답변3
나는 이것이 널 바이트라고 믿습니다. cat -A file
다음과 같이 표시됩니다.^@
tr
다음을 처리할 수 있습니다.
tr -d '\0' < file > file.new