【发布时间】:2015-03-26 21:45:52
【问题描述】:
我有一个如下所示的 .txt 文件:
HelloWorld (3,4,5)
FooFooFoo {34,34,34}{23,1,2}
BarFooHello {{4,5,12}}
BarBar Bar
HelloFoo {{6,5}}
我想在文件中找到字符串 'BarFooHello' 并将直接跟在 'BarFooHello' 之后的起始字符串 '{{' 和结束字符串 '}}' 之间的任何内容替换为 '12,12,12, 12'。目标是获取一个文件这个文件最后:
HelloWorld (3,4,5)
FooFooFoo {34,34,34}{23,1,2}
BarFooHello {{12,12,12,12}}
BarBar Bar
HelloFoo {{6,5}}
我如何在 Bash 中做到这一点?我希望在 bash 中有一个函数,它需要 1)起始字符串 2)结束字符串,3)修改后的字符串被执行和 4) 字符串来代替存在于起始字符串和结束字符串之间的当前内容。
【问题讨论】:
-
awk 或 sed 怎么样?