在多个文件中添加缺少的换行符
我有一堆不完整的文件:最后一行缺少 EOL 字符。
使用任何工具(也许是 awk?)添加换行符的最简单方法是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我有一堆不完整的文件:最后一行缺少 EOL 字符。
使用任何工具(也许是 awk?)添加换行符的最简单方法是什么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
在文件末尾添加换行符:
在当前目录中的每个文件末尾添加一行:
如果您事先不知道每个文件是否以换行符结尾,请先测试最后一个字符。
tail -c 1
打印文件的最后一个字符。由于命令替换会截断任何最后的换行符,因此如果文件为空或以换行符结尾,则$(tail -c 1 为空;如果文件以非 - 结尾,则 $(tail -c 1 为空。换行符。
To add a newline at the end of a file:
To add a line at the end of every file in the current directory:
If you don't know in advance whether each file ends in a newline, test the last character first.
tail -c 1
prints the last character of a file. Since command substitution truncates any final newline,$(tail -c 1 <file)
is empty if the file is empty or ends in a newline, and non-empty if the file ends in a non-newline character.Vim 非常适合这一点,因为如果您不以二进制模式打开文件,它会自动以检测到的行结尾结束文件。
所以:
无论您的文件是否具有 Unix、Windows 还是 Mac 行尾样式,都应该有效。
Vim is great for that because if you do not open a file in
binary
mode, it will automatically end the file with the detected line ending.So:
should work, regardless of whether your files have Unix, Windows or Mac end of line style.
在大量使用之前尝试一下:)
Try it before mass use :)