我有一些 ID 遵循这种不寻常的增量步进模式,如下所示:
eg600100.etc
eg600101.etc
eg600102.etc
...
eg600109.etc
eg600200.etc
...
eg600209.etc
eg600300.etc
...
eg600909.etc
eg601000.etc
eg601001.etc
...
eg601009.etc
eg601100.etc
...
eg601200.etc
...
eg601909.etc
据我所知,它是这样分解的:
60|01-19|00-09
我想构建一个循环,可以逐步迭代每个潜在的 ID,直到范围的末尾(即 601909(。
如何将数字分成这 3 个部分以管理循环的异常步进?
我已经看过seq
,但我不知道如何让它接受这里的不寻常步骤,这样它就不会在上面作为潜在 ID 不存在的增量之间给我数字。
#!/bin/bash
for id in $(seq -w 601909)
do
echo "Testing current ID, which is eg$id.etc"
done
有什么想法吗?
尝试使用大括号扩展:
printf %s\n eg60{01..19}{00..09}.etc >file
将其作为测试运行,但您可以迭代这样的扩展:
for id in eg60{01..19}{00..09}.etc; do echo Testing ID: $id; done