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

MS Word文档:使用Shell脚本自动查找/替换,shell,text,doc,Shell,Text,Doc,我有很多word文档,我想从中删除一些元素。我想做的事情如下: 复制并粘贴word文件的全部内容(可能不需要),并将其移动到文本文件或将.doc转换为.txt 使用正则表达式:将\[.*]替换为“”,并将\(.*\)替换为“” 将结果保存到与原始word文档同名的文本文件中 我很欣赏你的想法和方向。就目前的情况而言,我不知道如何通过编程来做这些事情。我现在是手动操作的 如果重要的话,我使用的是Ubuntu 11.04,因为你可以使用纯文本,所以对你的算法有一些改进: 使用antiword自动将文

我有很多word文档,我想从中删除一些元素。我想做的事情如下:

  • 复制并粘贴word文件的全部内容(可能不需要),并将其移动到文本文件或将.doc转换为.txt
  • 使用正则表达式:将
    \[.*]
    替换为“”,并将
    \(.*\)
    替换为“”
  • 将结果保存到与原始word文档同名的文本文件中
  • 我很欣赏你的想法和方向。就目前的情况而言,我不知道如何通过编程来做这些事情。我现在是手动操作的


    如果重要的话,我使用的是Ubuntu 11.04,因为你可以使用纯文本,所以对你的算法有一些改进:

  • 使用
    antiword
    自动将文档转换为tx
  • 使用
    sed
    进行就地正则表达式修改:
    sed-i-e的/bad/good/'file.txt
  • 更新(回应评论):

    正则表达式很好,但我没有完全理解目标:

    • 如果要将[foo]&(foo)的出现替换为“”,请使用:

      sed-i-e的/\[.\]/'/g'file.txt;sed-i-e的/\(.*)/“/g”file.txt

    • 如果您希望在每次使用时将引用[foo]&(foo)替换为“foo”:

      sed-i-e的/\[\(.*\)\]/“\1”/g'file.txt;sed-i-e的/(\(.*)/“\1”/g”file.txt


    第1部分。没问题。但我对sed一点也不熟悉。你能用一个例子来更新你的答案吗?这个例子使用了我的一个正则表达式调用,这样我就可以看到语法了。更新的答案因为我需要更多的空间。我很抱歉,我应该更明确地说明我的用法。基本上,我想删除文档中用(…)或[…]包装的任何内容,包括括号。