将所有.docx转换为文件夹系统内的.odt,然后删除所有.docx文件

时间:2015-04-08 04:59:30

标签: linux bash libreoffice

我有一个文件夹系统,它有2级深层子文件夹。每个文件夹都有一些.docx文件和其他文件。

我需要做的是,我想将所有这些.docx文件转换为.odt文件,之后我想删除这些旧的.docx文件以删除重复。

我得到了bash命令Linux Command to convert .docx to .odt,但是要运行此命令,我必须进入通过终端存在.docx文件的文件夹。

所以我正在寻找1个linux命令或shell文件脚本,它会自动执行此操作。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你正在使用zshbash version 5.0 or higher,这是微不足道的:

 #!/bin/zsh
 cd $1 && libreoffice --headless --convert-to odt **/*.docx

对于任何类似sh的shell,您也可以使用以下管道来执行此操作:

 #!/bin/sh
 find $1 -name '*.docx' -print | xargs libreoffice --headless --convert-to odt 
 cd $1 && find $1 -name '*.docx' -delete