【发布时间】:2021-11-07 22:42:46
【问题描述】:
我有两个不同格式的单词数据库,用于两个不同的词典。其中一个包含每个单词的连字符版本(例如ad‧mi‧ra‧tion 代表admiration),而另一个则没有。我的目标是用带连字符的单词替换后者中不带连字符的单词。
假设我们有
admiration
<span class="INFLX" >admiration</span><span class="HYPHENATION" >ad‧mi‧ra‧tion</span>
</>
在source1.txt 和
admiration
<a style="color: darkblue; text-decoration: none" href="sound://admiration_Uk.spx">[UK] admiration</a>
</>
在source2.txt.
我们想生产
admiration
<a style="color: darkblue; text-decoration: none" href="sound://admiration_Uk.spx">[UK] ad‧mi‧ra‧tion</a>
</>
在output.txt.
基本上预期的输出是source2.txt,并在单词中添加了连字符。 sed -i s/<original text>/<replaced text>/g source1.txt 将能够在单个文件中查找和替换字符串。但是,我们如何匹配数据条目并将字符串source2.txt替换为source1.txt中的字符串?
sed 或awk 等工具或命令是否能够比较两个文件并替换字符串?否则,我们能不能有一个程序来做这样的任务?
【问题讨论】:
-
可以在连字符的周围加上
[UK]之类的其他字符串吗? -
我认为是这样,只要在最终输出中显示连字符即可。