微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 在多个文件中添加缺失的换行符

我有一堆不完整的文件:最后一行缺少一个EOL字符。

添加换行符的最简单方法是使用任何工具(awk也许?)?

要在文件末尾添加换行符:
echo >>file

要在当前目录中的每个文件的末尾添加一行:

for x in *; do echo >>"$x"; done

如果您不提前知道每个文件是否以换行结尾,请先测试最后一个字符。 tail -c 1打印文件的最后一个字符。由于命令替换截断任何最后的换行符,如果文件为空或以换行符结尾,$(tail -c 1< file)为空,如果文件以非换行符结尾,则为非空。

for x in *; do if [ -n "$(tail -c 1 <"$x")" ]; then echo >>"$x"; fi; done

原文地址:https://www.jb51.cc/bash/387643.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐