小编uni*_*orn的帖子

迭代输入文件,但在 bash 脚本中分组处理它们

例如,我有多个带有名称的文件

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)

bash shell-script

3
推荐指数
1
解决办法
241
查看次数

迭代名称中具有增加但不连续的数字范围的文件

文件名包含00035023030仅在最后两位数字中从...30变为的形式模式...35。但是,如果一个号码遗漏形式3035就好说了31,它抛出的错误。如何绕过此错误并在循环中运行以下命令列表?

barycorr是询问我三个输入的程序:

  1. /home/dinesh/Test/output00035023030/sw00035023030xwtw2po_cl.evt
  2. /home/dinesh/Test/output00035023030/sw00035023030xwtw2po_cl_bary.evt
  3. /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)

bash shell-script

0
推荐指数
1
解决办法
43
查看次数

标签 统计

bash ×2

shell-script ×2