我需要编写一个脚本,以不同的参数启动我的程序,但我对Bash还是新手。我从以下几个方面开始我的节目:./MyProgram.exe Data/data1.txt [Logs/data1_Log.txt].下面是我想要做的事情的伪代码:for each filename in /Data do
for int i = 0, i = 3, i++
./MyProgram.exe Data/filename.txt Logs/filename_Log{i}.txt
end forend for因此,我真的很困惑如何从第一个参数创建第二个参数,因此它看起来像是dataABCD_Log1.txt并启动了我的程序。
3 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
UYOU
TA贡献1878条经验 获得超4个赞
for file in Data/*.txtdo for ((i = 0; i < 3; i++)) do name=${file##*/} base=${name%.txt} ./MyProgram.exe "$file" Logs/"${base}_Log$i.txt" donedone
这个name=${file##*/}
替代(壳参数展开)直到最后一次移除前面的路径名。/
.
这个base=${name%.txt}
替换移除尾随.txt
..如果扩展可以改变的话,就会更加棘手。
- 3 回答
- 0 关注
- 791 浏览
添加回答
举报
0/150
提交
取消