例如,我有多个带有名称的文件
ahard.txt
asoft.txt
bhard.txt
bsoft.txt
chard.txt
csoft.txt
Run Code Online (Sandbox Code Playgroud)
我想循环这些文件,但分组处理它们,以便Xhard.txt和用作输入文件和输出文件,其中字母代表、等(它实际上是文件名中的单个字母)。 aXsoft.txtX.txtXabc
我努力了:
#!/bin/bash
i=$(ls *.txt)
for x in $i
do
pipeline nser=2 input1="${x/soft.txt}" input2="${x/hard.txt}" outfile="${x/hard.txt}"
done
Run Code Online (Sandbox Code Playgroud) 文件名包含00035023030仅在最后两位数字中从...30变为的形式模式...35。但是,如果一个号码遗漏形式30来35就好说了31,它抛出的错误。如何绕过此错误并在循环中运行以下命令列表?
这barycorr是询问我三个输入的程序:
/home/dinesh/Test/output00035023030/sw00035023030xwtw2po_cl.evt/home/dinesh/Test/output00035023030/sw00035023030xwtw2po_cl_bary.evt/home/dinesh/Test/00035023032/auxil/sw00035023032sao.fits.gz我为每个运行创建的脚本文件:
echo -e "/home/dinesh/Test/output00035023030/sw00035023030xwtw2po_cl.evt
/home/dinesh/Test/output00035023030/sw00035023030xwtw2po_cl_bary.evt
/home/dinesh/Test/00035023030/auxil/sw00035023030sao.fits.gz" | barycorr ra=253.467570 dec=39.760169 &>log
echo -e "/home/dinesh/Test/output00035023031/sw00035023031xwtw2po_cl.evt
/home/dinesh/Test/output00035023031/sw00035023031xwtw2po_cl_bary.evt
/home/dinesh/Test/00035023031/auxil/sw00035023031sao.fits.gz" | barycorr ra=253.467570 dec=39.760169 &>log
echo -e "/home/dinesh/Test/output00035023032/sw00035023032xwtw2po_cl.evt
/home/dinesh/Test/output00035023032/sw00035023032xwtw2po_cl_bary.evt
/home/dinesh/Test/00035023032/auxil/sw00035023032sao.fits.gz" | barycorr ra=253.467570 dec=39.760169 &>log
echo -e "/home/dinesh/Test/output00035023033/sw00035023033xwtw2po_cl.evt
/home/dinesh/Test/output00035023032/sw00035023033xwtw2po_cl_bary.evt
/home/dinesh/Test/00035023032/auxil/sw00035023032sao.fits.gz" | barycorr ra=253.467570 dec=39.760169 &>log
Run Code Online (Sandbox Code Playgroud)