linux - sed + 如何使用缩进附加行

标签 linux sed redhat

我使用以下 sed 命令来附加行:

       rotate 1
       size 1k

在missingok这个词之后

美学上的小问题是“旋转 1”不像其他行那样对齐

# sed '/missingok/a      rotate 1\n    size 1k' /etc/logrotate.d/httpd

 /var/log/httpd/*log {
       missingok
rotate 1
       size 1k
       notifempty
       sharedscripts
       delaycompress
       postrotate
           /sbin/service httpd reload > /dev/null 2>/dev/null || true
       endscript
}

有人建议如何在 missingok 字符串下缩进字符串 "rotate 1"吗?

原始文件

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
 }

最佳答案

显然第一个字符序列必须转义

sed '/missingok/a\\trotate 1\n\tsize 1k' /etc/logrotate.d/httpd

关于linux - sed + 如何使用缩进附加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39464203/

相关文章:

linux - Sed 命令适用于 Linux,但不适用于 OS X

java - System.getenv 没有获取 ~/.bash_profile 中定义的变量

c - 来自 DIR 的统计文件 *

linux - 根据格式从文件中批量提取行

linux - logrotate 非 .log

linux - 通过脚本检查根完整性

android - 在 Linux 虚拟机中配置 Android Studio 和 SDK 时出错

linux - 使用多个输入和输出文件运行 .out?

linux - 我如何更改日期格式(sed 命令)

linux - 提取部分文件名