我有一个脚本,可以作为./analyze file.txt file.root log.txt file.txt是一个输入文件,其中包含可执行的根文件及其路径,其他则输出。我的问题是我几乎有30个输入文件,并且我不想每次运行代码都写下命令。Bash脚本会很好,但我没有管理。它给出了一个错误。看到下面的代码示例,我尝试运行:
#!/bin/bash
do
echo
./analyze runlist1.txt runlist1.root log1.txt
./analyze runlist2.txt runlist2.root log.txt
./analyze runlist3.txt runlist3.root log.txt
./analyze runlist4.txt runlist4.root res4.txt
done
我收到错误“意外标记'do'附近的语法错误”,任何帮助将不胜感激。
当所有文件都称为Brunsplit.txt时,以下内容将有所帮助
for file in Brunsplit*.txt; do
tmp=${file%.txt}
nr=${tmp#Brunsplit}
./analyze ${file} runlist${nr}.root res${nr}.txt
done
tmp和nr vars充满了特殊的语法,就像在末尾截断.txt并从一开始截断Brunsplit一样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句