unix脚本,在多个文件上运行命令

时间:2013-07-23 20:16:34

标签: shell unix command-line

我以前没有编写unix脚本的经验,但我想要的似乎是一个简单的任务..我想对文件夹中的所有pdf文件运行此命令

pdf2txt.py -o naacl06-shinyama.html samples/naacl06-shinyama.pdf

如果有一个名为anypdf.pdf的文件,命令将如下所示:

pdf2txt.py -o anypdf.html samples/anypdf.pdf

所以,如果我的文件夹包含3个pdf文件,例如,abc.pdf aaa.pdf bbb.pdf我希望最终得到abc.html aaa.html和bbb.html

提前致谢

1 个答案:

答案 0 :(得分:1)

for pdf in samples/*.pdf; do
    html=$(basename "$pdf" .pdf).html
    pdf2txt.py -o "$html" "$pdf"
done

如果您没有basename,请尝试使用bash的##%构造进行内联替换的替代方案。

#!/bin/bash

for pdf in samples/*.pdf; do
    html=${pdf##*/};
    html=${html%.pdf}.html
    pdf2txt.py -o "$html" "$pdf"
done