小编use*_*ser的帖子

如何在一组文件上迭代命令?

我有一个装满文件的文件夹,其.dot扩展名如下:

a.dot
b.dot
c.dot
Run Code Online (Sandbox Code Playgroud)

我想浏览此文件夹中的所有文件,并对它们运行如下命令:

dot -Tpdf a.dot -o a.pdf
dot -Tpdf b.dot -o b.pdf
dot -Tpdf c.dot -o c.pdf
Run Code Online (Sandbox Code Playgroud)

我猜我需要使用垂直条并执行如下命令:

ls *.dot | dot -Tpdf ... -o ....pdf
Run Code Online (Sandbox Code Playgroud)

但我不知道如何让管道只将每个文件放在中间部分。我应该使用xargs吗?此外,如何剥离扩展然后也将其放置在第二部分上。如果我至少可以指出正确的方向(使用哪个 shell 命令),它将帮助我在解决这个问题的过程中走得更远。

shell pipe wildcards control-flow

4
推荐指数
1
解决办法
664
查看次数

标签 统计

control-flow ×1

pipe ×1

shell ×1

wildcards ×1