我有一个Redhat Linux终端程序,它使用以下命令: 程序输入文件输出文件
Inputfile是我想要修改的文件的名称,outputfile是输出文件的名称。
我需要ac shell命令,可以在同一目录下的所有文件上运行程序(001p.pdb一直到361p.pdb)并创建名为001h.pdb,002h.pdb的输出文件... 361h.pdb
答案 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/`'
假设文件位于当前工作目录中 - 但可以轻松扩展该命令以处理任意目录。