regex - 带sed的正则表达式

  显示原文与译文双语对照的内容
0 0

我在使用正则表达式从文件中选择时遇到困难。 我正在试图替换文件中满足这些行的特定文本。

/home/user/test2/data///home/user/test2/data/train/train38.

我正在尝试替换粗体文本。 问题是我不知道如何只选择粗体文本,因为我需要在我的. wav 中使用和文件名。

希望你能帮助

时间:原作者:5个回答

0 0

假设你想要替换的是第一个路径中最后两个斜杠之间的字符串。

sed 's|([^/]*/)[^/]*(/[^/]*. *)|1FOO2|' filename

生成:

/home/user/test2/data/FOO/train38.wav/home/user/test2/data/train/train38.mfc
原作者:
0 0

rtc一次处理一行,因这里你可以以省略全局选项,它只会改变每一行的第一个'列车'。

sed 's/train/FOO/' testdat

vs

sed 's/train/FOO/g' testdat

这是一个全局替换

这比它的他可以能性更容易读取,而且容易出错,但当然也有一些应用程序不简单。

原作者:
0 0
sed 's;((/[^/]+)*)/train((/[^/]+)*).wav;1/FOO3.wav;'
原作者:
0 0

你可以这样做

sed -e 's/<train>/plane/g'

< 告诉sed匹配该工作的开始,> 告诉它匹配单词的结尾。

最终的g 意味着全局,因这里在整个行上执行匹配和替换,不会在第一个成功匹配之后停止。

原作者:
...