「1-6,8,15-20,23,25-28,30」のような範囲リストパラメーターを解析/展開する方法を取得するにはどうすればよいですか (「1 2 3 4 5 6 8 15 16 17 18 19 20 に」 23 25 26 27 28 30") bash で? bash が機能しない場合は、他の一般的に利用可能な Linux シェルを検討できます。
ユースケース: 特定の ID で何かを行う必要があるスクリプトがあり、「すべての種類の」ID リスト/範囲を一度に処理できれば (それ以上に) 便利です。現在、私のスクリプトは 1 つの ID 範囲パラメーター AB のみを使用するため、ID リストが 1 つの連続した範囲ではない場合、異なる範囲パラメーターを使用してスクリプトを数回実行する必要があります (たとえば、"AB,XY" は 2 回の実行になり、最初に "AB" が実行されます)。次に「XY」)。
list パラメーターの短い仕様: - リストは 1 つの範囲、またはカンマで区切られた複数の範囲 (他の区切り記号も可能) - 範囲は AB (B より小さい A)、または単一の数値 X (特殊なケース A=B) です。 ) - これは数値/整数の範囲/リストであるため、リストで使用できる文字は 0 ~ 9、「-」、および「,」です。