【发布时间】:2021-12-12 18:21:58
【问题描述】:
我想在 sed 脚本中使用 sed 删除括号内的文本(包括括号)。例如,我想删除短语 (Chris Pratt) 和 (Chris-Pratt) 并保留 (Chris_Pratt)。 (他们都在同一条线上)。并对整个文件执行此操作。例如,该行如下所示:
Star Lord (Chris Pratt), (Chris-Pratt), age 42, actor, (Chris_Pratt)
这是我希望在 sed 脚本中执行 sed 命令后的样子:
Star Lord, age 42, actor, (Chris_Pratt)
这就是我想要对每一行执行的操作(有多行具有其他名称)。
我已经试过了:
s/[(][^)]*[)]//g
这个可行,但它也删除了括号包括下划线,还有:
s/\([[:alpha:]]{1,} [[:alpha:] ]{1,}\)\ //g
当我在命令行中正常使用 sed 运行它时,它确实有效,但由于某种原因在脚本中运行它时它不起作用。
【问题讨论】: