当前位置: 首页 > 面试题库 >

仅在不存在换行符时添加它

吴均
2023-03-14
问题内容

我只想在文件末尾添加换行符,以防止在文件末尾出现多个换行符。

我希望使用sed。这是我当前代码遇到的问题:

sed -i -e '/^$/d;$G' /inputfile

echo file1
name1
name2

echo file2
name3
name4
(newline)

当我在文件上运行代码时;

echo file1
name1
name2
(newline)

echo file2
name3
name4

如果没有,它将添加换行符,如果存在则将其删除…这使我感到困惑。


问题答案:

由于它会删除换行符(如果不存在),因此您可以简单地使用:

echo "" >> file;  sed -ie '/^$/d;$G' file; sed -ie '/^$/d;$G' file

添加换行符并删除所有内容,然后添加换行符。不是优雅的方式,但肯定可以工作:)



 类似资料:
  • 我有一个用户名数组(例如,)要添加到图中的“user”标签下。 现在我首先要检查用户名是否已经存在(),然后仅在“user”标签下添加username属性不匹配的内容。 此外,这可以在单个gremlin查询或groovy脚本中完成吗? 我正在使用titan graph数据库、tinkerpop3和gremlin REST服务器。

  • 我正在使用Goland来编写我的grpc应用程序。生成我的原型文件后,文件末尾不存在尾随换行符。有没有办法在 IDE 中启用此功能?

  • 我有一个文本区,当你添加内容时,它会自动添加项目符号,问题是当一个新的行被添加时,它应该添加单独的ullet点。问题是它的内容完全附加了 下面是我如何添加内容 应该是这样的 下面是片段 null null

  • 我正在生成一个包含一些注释、单元格和表格的PDF文件。。。我在JAVA中使用PDFbox 我想在我的字符串中添加一个换行符,它被称为“esc注释”,它包含一个注释数组。 我试过"\n","\r","System.get属性("line.separator")"都没用。 这是我的代码: 我想为每个来自getCloseComment()的评论添加一个换行符

  • 我有一个在 Ubuntu 工作站上运行的 Flume 1.5 代理,它从各种设备收集日志并将日志重新格式化为具有很长行的逗号分隔文件。在收集和重新格式化日志后,它们被放入假脱机目录中,Flume 代理将日志文件发送到运行 Flume 代理的 Hadoop 服务器,以接受日志文件并将它们放在 HDFS 目录中。 除了当Flume将文件发送到HDFS目录时,每行每2048个字符后有换行符之外,一切都正

  • 这是我使用Thymeleaf模板的代码 正在生成: 我希望每个复选框都在一行中。在普通的纯HTML中,我会使用<代码>