Answers:
如果您不触发vim或将sed用于其他用途,cat实际上有一种简单的内置方法来折叠多个空白行,只需使用即可cat -s
。
如果您已经在vim中并且想要留在那儿,则可以通过内部搜索来执行此操作,并通过发出以下命令替换::%s!\n\n\n\+!^M^M!g
(^ M是换行符的可视表示形式,您可以通过按Ctrl+ 来输入vEnter),或者保存自己只需炮击给cat:即可输入内容:%!cat -s
。
:%!cat -s
。每天学习GNnew!
%s!\n\n\n\+!\r\r!g
用于\n
在搜索模式中指示换行符。在替换文本中使用Ctrl+ M或向后引用。参见:help pattern
和:help sub-replace-special
(链接自:help :s
)。
%s/\(\n\n\)\n\+/\1/
\n
在替换文本中不起作用。
我知道这是愚蠢的代码,但我想在不到10分钟的时间内解决此问题,并且它有效
for file in /directory/*
do
originalname=$file
us='_'
tempname=$file$us
echo $originalname
mv $originalname $tempname
uniq $tempname $originalname
rm $tempname
done
uniq
删除相邻的等号线。OP并不想这样。
-s
cat 的选项-只是一个历史性注释,它不在POSIX中,但似乎在BSD和GNU cat中可用。