【问题标题】:Why sed script is not deleting lines?为什么 sed 脚本不删除行?
【发布时间】:2020-04-02 09:16:17
【问题描述】:

以下是我的 sed 脚本:

#!/bin/bash

sed -r 's/^\s+?\/\/.*$/d/;
s/LOG.debug/System.out.println/g' "$1"

第一个命令应该做的是删除所有以// 开头的行,前面有任意数量的空格或制表符。唯一的问题是它没有删除这些行,而是用文字 'd' 替换它们。

【问题讨论】:

  • 我的回答有帮助吗?

标签: linux bash sed scripting


【解决方案1】:

如果您需要删除匹配的行,则不应使用s 命令。

使用

sed '/^[[:blank:]]*\/\//d; s/LOG\.debug/System.out.println/g' "$1"
#    ^^^^^^^^^^^^^^^^^^^^

另外,请注意,要匹配文字点,您需要对其进行转义,因此,LOG\.debug。

查看online sed demo。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 2018-07-27
    • 1970-01-01
    • 2011-02-22
    相关资源
    最近更新 更多