如何在bash中将多个文件设置为程序参数?
How to set multiple files as program arguments in bash?
我遇到了这个问题。我在一个文件夹中有很多文件。我在 shell 中也有三个可执行程序。
我需要做的是编写一个脚本,它将从文件夹中取出所有以字符“_”结尾的文件,并通过下面列出的所有三个程序将它们一一发送
以字符'_'结尾的文件应设置为program1的输入选项。该程序必须 运行 两次,并具有不同的选项。
./program1 -i "fileXXX.14_";
./program1 -i "fileXXX.14_" -n N;
程序 1 创建了两个文件 - "fileXXX.14O" 和 "fileXXX.14N"。
然后脚本也需要将这两个文件作为第二个程序的参数传递。我还需要为输出文件名设置一个选项。
./program2 -o "fileXXX.pos" "fileXXX.14O" "fileXXX.14N";
最后脚本需要运行第三个程序"fileXXX.pos"作为输入选项
./program3 -i "fileXXX.pos" ;
理想情况下,文件 fileXXX.14N、fileXXX.14O 和 fileXXX.pos 将在此操作后删除。
也许像这样的东西就可以了,
find . -name '*_' -exec ./sbf2rin -o copy -f `echo {}` \; -exec ....
但我不知道如何根据找到的文件传递其他参数或选项。
有什么办法吗?这对我很有帮助...非常感谢!
不是 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
我遇到了这个问题。我在一个文件夹中有很多文件。我在 shell 中也有三个可执行程序。 我需要做的是编写一个脚本,它将从文件夹中取出所有以字符“_”结尾的文件,并通过下面列出的所有三个程序将它们一一发送
以字符'_'结尾的文件应设置为program1的输入选项。该程序必须 运行 两次,并具有不同的选项。
./program1 -i "fileXXX.14_";
./program1 -i "fileXXX.14_" -n N;
程序 1 创建了两个文件 - "fileXXX.14O" 和 "fileXXX.14N"。
然后脚本也需要将这两个文件作为第二个程序的参数传递。我还需要为输出文件名设置一个选项。
./program2 -o "fileXXX.pos" "fileXXX.14O" "fileXXX.14N";
最后脚本需要运行第三个程序"fileXXX.pos"作为输入选项
./program3 -i "fileXXX.pos" ;
理想情况下,文件 fileXXX.14N、fileXXX.14O 和 fileXXX.pos 将在此操作后删除。
也许像这样的东西就可以了,
find . -name '*_' -exec ./sbf2rin -o copy -f `echo {}` \; -exec ....
但我不知道如何根据找到的文件传递其他参数或选项。
有什么办法吗?这对我很有帮助...非常感谢!
不是 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