在目录中的所有文件上运行可执行文件,并获取与原始文件对应的不同输出文件

时间:2014-06-19 16:46:21

标签: linux shell terminal executable csh

我有一个Redhat Linux终端程序,它使用以下命令: 程序输入文件输出文件

Inputfile是我想要修改的文件的名称,outputfile是输出文件的名称。

我需要ac shell命令,可以在同一目录下的所有文件上运行程序(001p.pdb一直到361p.pdb)并创建名为001h.pdb,002h.pdb的输出文件... 361h.pdb

1 个答案:

答案 0 :(得分:0)

使用sh作为下面的子shell而不是csh可能会更快,但下面的代码可以在任何shell中使用:

 find . -maxdepth 1 -regex '\./[0-9][0-9][0-9]p\.pdb' | xargs -I _IN_ csh -c 'program _IN_ `echo _IN_ | sed -e s/p/h/`'

假设文件位于当前工作目录中 - 但可以轻松扩展该命令以处理任意目录。