Shell-Script
如何從vi中顯示為@的文件中刪除空行/空白行
當我通過 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
仍然文件帶有空行
如何刪除空/空行?
這些不是空行,而是太長而無法在螢幕上顯示的行,即使在換行之後也是如此。
$ perl -e 'print "foo\n", "bar " x 4096' >/tmp/file $ vim /tmp/file foo @ @ @ ...
這就是標準所說的:
在可視模式下,如果編輯緩衝區中的一行(目前行除外)不完全適合顯示底部可用於其呈現的行,則編輯器可以選擇不顯示該行的任何部分. 由於這個原因,不包含來自編輯緩衝區的文本的顯示行應由單個“@”字元組成。
另請查看有關該選項
vim
的文件:display
當“lastline”和“truncate”都不包含時,最後一行不適合的行將替換為“@”行。
不要將它們與空字節混淆,空字節通常顯示為
^@
(注意插入符號)。此外,這種行為並不普遍(它似乎沒有在 中實現nvi
)。