linux - 如何使用 sed 在 ubuntu 中的文件末尾添加多个换行符

标签 linux ubuntu sed

输入文件

ABC
DEF

输出文件

ABC
DEF


GHI

我正在使用

sed -i -e '$a\\GHI ' input.txt

但它添加了 GHI,但没有添加前面的 2 行新行

ABC
DEF
GHI

最佳答案

既然您已标记 linux,我假设您有 GNU sed 并且 \n 已被识别

$ cat ip.txt 
ABC
DEF
$ sed '$a\\n\nGHI' ip.txt
ABC
DEF


GHI

在运行后添加-i选项


GNU sed 不要求在 a 命令后使用 \,但有其自己的用例。因此,在前面的示例中,\\n 位于开头。请参阅GNU sed manual了解详情

$ echo 'foo' | sed '$a123'
foo
123
$ echo 'foo' | sed '$a 123'
foo
123
$ echo 'foo' | sed '$a\ 123'
foo
 123


此外,这可以轻松完成,无需 sed

$ printf '\n\nGHI\n' >> ip.txt 
$ cat ip.txt 
ABC
DEF


GHI

关于linux - 如何使用 sed 在 ubuntu 中的文件末尾添加多个换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46724171/

相关文章:

bash - 使用 Linux 工具将多行 csv 转换为单行

regex - sed 查找并替换 fastq 正则表达式

python - ctypes 加载具有依赖关系的 c 共享库

linux - bash 脚本 : how to find the absolute path of "symlink/.."?

amazon-web-services - 在 ubuntu 中使用 cloudwatch 日志代理将服务器日志上传到 aws cloudwatch 日志

linux - 如何计算文本文件中唯一行、重复行和出现三次的行的数量

.net - 如何在 Ubuntu 16.04 LTS 上安装 dotnet SDK

unix - 使用 awk 或 sed 查找字符串的第一次和最后一次出现

linux - 运行(和编译)不受信任的用户代码

linux - 通过 SSH 从多个远程主机收集 STDOUT 时的数据完整性问题