将有一个名为的文件replacewords.txt
,其中包含类似的数据
Apple Orange
Banana Guava
ETC。
将会有另一个名为data.txt
.该文件中的单词将被替换,因此第一列单词(来自replacewords.txt
)应被第二列单词替换。
例如,如果我们找到Apple
(in data.txt
),则将其替换为Orange
和Banana
等Guava
。
结果应存储在Results.txt
答案1
[我假设您正在使用 bash 和 Gnu utils。]
首先分解问题,一次解决一点。在开始之前问“我一直在学习什么工具?”
打破它
对于这个例子,我会像这样分解它。 (您只需要确定第一个。让它工作,然后确定第二个。不过我已经确定了更多的内容来帮助您。)
每一步完成后,都要进行测试。如果不能解决的话,它是否有效。如果有效,则继续下一步。
- 读取文件 (
data.txt
) [cat] - 读取文件并将其复制/输出到另一个文件 (
Result.txt
) [cat 和重定向] - 做一个替换。别担心
replacewords.txt
。可以把苹果换成Orange吗? [sed 和重定向] - 读入
replacewords.txt
,并用它来控制替换。
我必须考虑什么工具可以做到这一点。这似乎是一个两步过程。我有什么选择?- 编写一个脚本,读取
replacewords.txt
、生成sed
脚本,然后执行它。 (如果我这样做,那么首先通过编写一个sed
脚本来练习,用橙子代替苹果,用番石榴代替香蕉。) - 在 awk 中执行此操作(仍然是一个两阶段过程。使用 BEGIN 子句进行设置阶段。)。
- 在 python 中完成(仍然是一个两阶段过程)。
- 注意:编写一个虚拟阶段 1。对一个替换进行硬编码,然后进行两个替换。在阅读第 1 阶段之前,让它发挥作用
replacewords.txt
。
- 编写一个脚本,读取