打破它

打破它

将有一个名为的文件replacewords.txt ,其中包含类似的数据

Apple Orange
Banana Guava

ETC。

将会有另一个名为data.txt.该文件中的单词将被替换,因此第一列单词(来自replacewords.txt)应被第二列单词替换。

例如,如果我们找到Apple(in data.txt),则将其替换为OrangeBananaGuava

结果应存储在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

相关内容