yae*_*ael 0 sed awk perl shell-script ed
当我用 vi 打开文件时
作为
vi file
Current partition replica assignment
@
@
@
@
@
{"version":1,"partitions":[{"topic")]
@
@
@
@
@
Proposed partition reassignment configuration
Run Code Online (Sandbox Code Playgroud)
但我尝试删除这个空行
作为
sed -i 's/^ *//; s/ *$//; /^$/d; /^\s*$/d' file
Run Code Online (Sandbox Code Playgroud)
或者
sed -i '/^$/d' file
Run Code Online (Sandbox Code Playgroud)
或者
sed -i '/^$/d' file
Run Code Online (Sandbox Code Playgroud)
静止文件带有空行
如何删除空行/空白行?
这些不是空行,而是太长而无法在屏幕上显示的行,即使在换行后也是如此。
$ perl -e 'print "foo\n", "bar " x 4096' >/tmp/file
$ vim /tmp/file
foo
@
@
@
...
Run Code Online (Sandbox Code Playgroud)
这是标准所说的:
在可视模式下,如果编辑缓冲区中的一行(当前行除外)不完全适合显示底部可用于其演示的行,则编辑器可以选择不显示该行的任何部分. 由于这个原因,不包含来自编辑缓冲区的文本的显示行每行应由单个“@”字符组成。
另请查看vim
有关该display
选项的文档:
当“lastline”和“truncate”都不包含时,不适合的最后一行将替换为“@”行。
不要将它们与空字节混淆,空字节通常显示为^@
(注意插入符号)。此外,这种行为并不普遍(它似乎没有在 中实现nvi
)。