我有几个文件在文件底部有 2 个或 3 个或更多空行。如何找到所有此类文件并以自动方式删除空行。
问问题
63 次
3 回答
1
有很多方法可以修剪尾随空白行。首先想到的是:
perl -pe 'BEGIN{ undef $/} 1 while s/\n\n$/\n/'
要查找和替换文件,您可以执行以下操作:
find /base/directory -type f -exec perl -i -pe 'BEGIN{ undef $/} 1 while s/\n\n$/\n/' {} \;
于 2013-02-19T06:40:48.863 回答
1
您可以使用此正则表达式并选择dotall 选项
^(\r?\n){2,}$
并将其替换为空
于 2013-02-19T07:11:23.430 回答
1
使用 bash shell,这将测试当前目录中的所有文件并仅打印具有 2 个或更多尾随换行符的文件:
for f in `ls *`; do if [ "$(tail -2 $f | tr '\n' 'x')" = "xx" ]; then echo $f; fi; done
提示:将首字母替换ls *
为find . -type f
递归搜索子目录
试试这个单独的帖子,了解从文件中删除尾随换行符的命令。
于 2013-02-19T08:02:19.793 回答