我正在尝试使用序列选择文件列表中的元素。为此,我按照文件夹中的模式创建了所有文件的列表:
ls -d -1 /my/path/S1*.zip
输出在哪里:
/my/path/S1A_IW_SLC__1SDV_20180412T171648_20180412T171715_021437_024E95_BDA1.zip
/my/path/S1A_IW_SLC__1SDV_20180424T171648_20180424T171715_021612_02540A_BB21.zip
/my/path/S1A_IW_SLC__1SDV_20180506T171649_20180506T171716_021787_025996_98AB.zip
/my/path/S1A_IW_SLC__1SDV_20180518T171649_20180518T171716_021962_025F27_A15C.zip
/my/path/S1A_IW_SLC__1SDV_20180530T171650_20180530T171717_022137_0264C8_5D94.zip
/my/path/S1A_IW_SLC__1SDV_20180611T171651_20180611T171718_022312_026A3D_BBFC.zip
/my/path/S1A_IW_SLC__1SDV_20180623T171652_20180623T171719_022487_026F7C_450E.zip
/my/path/S1A_IW_SLC__1SDV_20180623T171652_20180623T171719_543456_64324F_452W.zip
我想创建一个for
循环,在该循环中,对于每次迭代,文件都以两个为一组进行处理。因此,在第一次迭代中,我的列表中位置 1 中的文件和位置 2 中的文件被处理。在第二次交互中,在位置 3 中归档,在位置 4 中归档,依此类推。
为了简单起见,我将以解压缩这些文件的示例为例:
for i in $(ls -d -1 /shared/Training/WROC0320_UrbanMapping_Germany/Original/S1*.zip)
do
unzip i
unizp i+1 # Not sure if i+1 works like that in `bash`
done
我用这种方法看到的问题是,在第一次迭代中它会起作用(i
将是 1 和 2)但在第二个迭代i
中将是 2 和 3,它应该是 3 和 4。
那么我的问题是,如何迭代结果ls
是这样的?