我遇到了这个问题。我在一个文件夹中有很多文件。我还有三个可在shell中执行的程序。 我需要做的是编写一个脚本,它将从文件夹中获取所有文件,这些文件以字符'_'结尾,并通过以下列出的所有三个程序逐个发送“
以字符“_”结尾的文件应设置为program1的输入选项。该程序必须使用不同的选项运行两次。
./program1 -i "fileXXX.14_";
./program1 -i "fileXXX.14_" -n N;
program1创建了两个文件 - “fileXXX.14O”和“fileXXX.14N”。
然后脚本需要将这两个文件作为第二个程序的参数传递。我还需要为输出文件名设置一个选项。
./program2 -o "fileXXX.pos" "fileXXX.14O" "fileXXX.14N";
最后,脚本需要以“fileXXX.pos”作为输入选项运行第三个程序
./program3 -i "fileXXX.pos" ;
理想情况下,文件fileXXX.14N,fileXXX.14O和fileXXX.pos将在此操作后删除。
Mabye这样的事情可以解决问题,
find . -name '*_' -exec ./sbf2rin -o copy -f `echo {}` \; -exec ....
但我不知道如何根据找到的文件传递其他参数或选项。
任何想法如何做到这一点?它会对我有所帮助......非常感谢!
答案 0 :(得分:0)
不是100%你想做什么,但这可能适合你
for i in *_;do
./program1 -i "$i"
./program1 -i "$i" -n N
./program2 -o "${i%.}".{pos,140,14N}
./program3 -i "${i%.}.pos" ;
rm "${i%.}".{pos,140,14N}
done