ubuntu - 如何用sed删除一行前面的#?

标签 ubuntu sed

我正在尝试取消注释(删除#)sql 行。

session {
        radutmp

        #
        #  See "Simultaneous Use Checking Queries" in sql.conf
#       sql
}

这是我试过的:

sed -i 's/#       sql/        sql/' /etc/freeradius/sites-available/inner-tunnel

但不知何故空间计算不正确。它没有找到 # sql

最佳答案

正在关注 melpomene看起来输入文件使用的是制表符而不是空格。您可以使用包含制表符和空格的 [:blank:] 字符类:

sed '/#[[:blank:]]*sql/s/#//' file

该命令匹配序列为 #、零个或多个空格后跟术语 sql 的行,并删除第一个 #

关于ubuntu - 如何用sed删除一行前面的#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47376426/

相关文章:

java - Eclipse 在创建新项目或新类时卡住

c - C语言数据链路层编程

bash - 使用变量作为行号从 bash 脚本中的文件读取特定行

正则表达式替换每行中最后一次出现的字符串

css - 使用 SED 和 RegEx 将下划线放回数百个 CSS 文件的链接中

java - IntelliJ IDEA 无法在 Ubuntu 上启动

laravel - Laravel杀死了Ubuntu

mysql - 更改 sql 模式后在 ubuntu 上重新启动 MySQL

linux - 在 Linux 中替换大文本字符串

regex - 自定义 `git log` 并在 `@` 处截断作者电子邮件的最简单方法是什么?