MS Word Doc:使用Shell脚本自动查找/替换

时间:2011-10-04 00:11:25

标签: shell text doc

我有一些word文档,我想从中删除一些元素。我想做的是:

  1. 复制并粘贴word文件的全部内容(可能没有必要)并将其移动到文本文件中或将.doc转换为.txt
  2. 使用正则表达式:将\[.*\]替换为“”并将\(.*\)替换为“”
  3. 将结果保存为与原始word文档同名的文本文件。
  4. 赞赏的想法和方向。就目前而言,我不知道如何以编程方式执行任何这些操作。我正在手动执行此操作。

    如果重要,我正在使用Ubuntu 11.04

1 个答案:

答案 0 :(得分:2)

由于您可以使用纯文本,因此对您的算法进行了一些改进:

  1. 使用antiword自动从doc转换为tx
  2. 使用sed进行就地正则结构修改:sed -i -e's/bad/good/' file.txt
  3. 更新(回应评论):

    正则表达式很好,但我完全不了解目标:

    • 如果您想要替换[foo]&的出现次数(foo)用“”使用:

      sed -i -e's/\[.*\]/""/g' file.txt; sed -i -e's/\(.*\)/""/g' file.txt

    • 如果你想替换出现次数[foo]& (foo)每次使用“foo”:

      sed -i -e's/\[\(.*\)\]/"\1"/g' file.txt; sed -i -e's/(\(.*\))/"\1"/g' file.txt