目前,我有從命令數字的有序輸出:在Bash中,如何將數字列表轉換爲數字範圍?
18,19,62,161,162,163,165
我想這些凝結表數爲單數或數字
的範圍的列表18-19,62,161-163,165
我想過嘗試在bash中對數組進行排序,然後讀取下一個數字,看看它是否爲+1 ...我有一個基本相同的PHP函數,但我無法將其轉換爲Bash:
foreach ($missing as $key => $tag) {
$next = $missing[$key+1];
if (!isset($first)) {
$first = $tag;
}
if($next != $tag + 1) {
if($first == $tag) {
echo '<tr><td>'.$tag.'</td></tr>';
} else {
echo '<tr><td>'.$first.'-'.$tag.'</td></tr>';
}
unset($first);
}
}
我想可能有一個一行在bash,可以做到這一點,但我的谷歌搜索短來了....
UPDATE: 謝謝@Karoly霍瓦特一個快速的答案,我用完成我的項目。我肯定會對那裏的任何更簡單的解決方案感興趣。
「但我有麻煩它調換到Bash「 - 哪部分你有問題? –
你想爲這款遊戲推出代碼高爾夫嗎? ':-)' –
@KarolyHorvath我遇到的問題是將列表放到數組中,迭代數組並輸出,只是不太清楚語法。 – jjclarkson