У меня есть список строк, которые мне нужно отсортировать по числу внутри строк, например.Сортировка по части строки
<sbb part="611-0068-01" desc="21.6TB HDD 2.5" qty="1"/>
<sbb desc="19.2TB SSD/2.5in" part="611-0112-01" qty="1"/>
<sbb part="611-0112-01" qty="1" desc="19.2TB SSD/2.5in"/>
<sbb part="611-0112-02" desc="19.2TB SSD/2.5in" qty="1"/>
<sbb part="611-0044-01" qty="1" desc="4.8TB SSD 2.5"/>
<sbb part="611-0044-03" desc="4.8TB SSD 2.5" qty="1"/>
<sbb desc="9.6T SSD/2.5in" part="611-0202-01" qty="1" />
Часть Я хочу сортировать является XXXX в «611-XXXX-XX» в в кавычках в строках, например, 611-1111-03 ниже число, чем 611-2222-02 1111 ниже, чем 2222.
Все строки содержат этот номер 611-XXXX-XX и это число всегда начинается с 611.
Это число может произойти вблизи начала строки или ближе к концу. К сожалению, в строке есть еще два набора кавычек, что делает это более сложным.
Выход для этого примера:
<sbb part="611-0044-01" qty="1" desc="4.8TB SSD 2.5"/>
<sbb part="611-0044-03" desc="4.8TB SSD 2.5" qty="1"/>
<sbb part="611-0068-01" desc="21.6TB HDD 2.5" qty="1"/>
<sbb desc="19.2TB SSD/2.5in" part="611-0112-01" qty="1"/>
<sbb part="611-0112-01" qty="1" desc="19.2TB SSD/2.5in"/>
<sbb part="611-0112-02" desc="19.2TB SSD/2.5in" qty="1"/>
<sbb desc="9.6T SSD/2.5in" part="611-0202-01" qty="1" />
Я думал о поиске от 611 до следующей цитаты. Не знаю, как это кодировать, хотя я новичок bash.
Каково значение '
Kent
@Kent: В этом случае мой ответ на самом деле встречает его, за исключением порядка 'sbb part =' тегов? Разве этого не хватит? – Inian