【问题标题】:sed error while underscore is part of the search text下划线是搜索文本的一部分时出现 sed 错误
【发布时间】:2017-05-05 18:44:49
【问题描述】:

在执行下面的语句时,

sed -l 's,`144_com`.,,q' [file_name_144_com.sql]

这是尝试删除 EXACT 文本(在这种情况下,如果需要删除以进行迁移的数据库名称)

`144_com`。

从 MySQL 转储文件中我得到了错误:

sed:-e 表达式#1,字符 4:未知命令:`_'

我试图逃脱下划线但没有运气。任何帮助将不胜感激!

【问题讨论】:

  • 下划线没有特殊含义,不需要转义。
  • 为什么文件名在方括号中?
  • 这只是一个示例文件名
  • 你使用的是什么版本的sed
  • 我假设您问题中的-l 应该是-i。否则,后面必须有一个数字。另外,末尾的q 应该是g???

标签: mysql bash sed


【解决方案1】:

使用

sed -i 's/`144_com`.//g' 144_com_dev.sql

解决了这个问题。 -l 是一个错字,后面的 q 也是。度过了漫长的一天!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-15
    • 2011-09-01
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多