我正在尝试在一些包含短语分隔的文本中使用 word2vec,例如
I <phrase>like green beans</phrase> in my tortillas.
在将文本输入到 word2vec 之前,我需要输入:
I __like_green_beans__ in my tortillas.
我一直在尝试使用 sed 进行替换。通过做
sed -e 's@<phrase>\(.*\)</phrase>@__\1__@g' myfile.txt
我可以去掉分隔符,但我还没有找到替换捕获组中空格的方法。
如果可以使用 sed 有什么想法吗?
最佳答案
你可以试试这个 sed
sed -E ':A;s/(>[^ ]*) ([^<]*<)/\1_\2/;tA;s/<[/]*phrase>/__/g'
关于bash - 使用 sed 在捕获组内替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48754522/