unix:使用find |在不同的目录中执行gnuplut xargs的

时间:2013-06-14 09:15:47

标签: unix find xargs

我很擅长使用shell。我在子目录中有很多gnuplot脚本。这些包括输入文件的相对路径。因此,要以正确的方式执行它们,我必须转到脚本的父目录,然后执行它。有没有办法用find |来做到这一点xargs组合?

find . -name "*gpf" | xargs -i{} dirname {}

是我到目前为止发现的东西。但我不知道现在如何去父目录,然后在那里解释gnuplot。有没有办法做到这一点?

非常感谢。

编辑:其他人有任何想法可以帮助我解决这个问题吗?真的会帮到我很多!提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用-exec的{​​{1}}选项执行gnuplot:

find

答案 1 :(得分:0)

使用GNU Parallel:

find . -name "*gpf" | parallel "cd {//};gnuplot {/}"

了解有关GNU Parallel的更多信息:https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

10秒安装:

wget pi.dk/3 -qO - | sh -x