Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash脚本:如何循环X个文件,在同一行中获取输入并写入文件_Bash_Shell_Scripting - Fatal编程技术网

Bash脚本:如何循环X个文件,在同一行中获取输入并写入文件

Bash脚本:如何循环X个文件,在同一行中获取输入并写入文件,bash,shell,scripting,Bash,Shell,Scripting,所以我有一个用C编写的程序,它接受了一些参数:调用它allcell 一些示例参数:-m1800-n9 正在分析的文件:cfdT100-0.trj,cfdT100-1.trj,cfdT100-2.trj,cfdT100-3.trj。。。cfdT100-19.trj 正在输入的文件:template.file 输出文件:result.file $ allcell -m 1800 -n 9 cfdT100-[0-19].trj < template.file > result.file

所以我有一个用C编写的程序,它接受了一些参数:调用它
allcell
一些示例参数:
-m1800-n9
正在分析的文件:
cfdT100-0.trj,cfdT100-1.trj,cfdT100-2.trj,cfdT100-3.trj。。。cfdT100-19.trj
正在输入的文件:
template.file
输出文件:
result.file

 $ allcell -m 1800 -n 9 cfdT100-[0-19].trj < template.file > result.file

我相信您希望将glob表达式改为
cfdT100-{0..19}.trj

neech@nicolaw.uk:~ $ echo cfdT100-{0..19}.trj
cfdT100-0.trj cfdT100-1.trj cfdT100-2.trj cfdT100-3.trj cfdT100-4.trj cfdT100-5.trj cfdT100-6.trj cfdT100-7.trj cfdT100-8.trj cfdT100-9.trj cfdT100-10.trj cfdT100-11.trj cfdT100-12.trj cfdT100-13.trj cfdT100-14.trj cfdT100-15.trj cfdT100-16.trj cfdT100-17.trj cfdT100-18.trj cfdT100-19.trj
您在脚本版本上的引用看起来可以接受。换个地球仪就行了

对无限循环使用递归函数


这将形成一个无限循环

了解角色类是如何工作的。谢谢。如果我在bash上,这会改变吗?此外,我还使用用户输入来检查结束文件(在给定的示例中为19)-因此,如果我有一个变量用于该
var
。所以
“$(echo cfdT100-{0..$var}.trj)”
?是的,我相信你可以在你的glob中使用变量。我想这是特定于我的情况和我使用的程序,但无论如何写在这里:必须在我使用变量展开变量的行之前使用
set-x
set-o xtrace
neech@nicolaw.uk:~ $ echo cfdT100-{0..19}.trj
cfdT100-0.trj cfdT100-1.trj cfdT100-2.trj cfdT100-3.trj cfdT100-4.trj cfdT100-5.trj cfdT100-6.trj cfdT100-7.trj cfdT100-8.trj cfdT100-9.trj cfdT100-10.trj cfdT100-11.trj cfdT100-12.trj cfdT100-13.trj cfdT100-14.trj cfdT100-15.trj cfdT100-16.trj cfdT100-17.trj cfdT100-18.trj cfdT100-19.trj
a()
{
echo "apple"
a
}
a