Сортировка выходных данных команды Linux

#sorting

#сортировка

Вопрос:

Есть ли какой-либо способ отсортировать результаты вывода этой команды? Я хотел бы разделить первый столбец на точки «.», а затем отсортировать по типу (например, «xlarge»)

 # curl 'https://ec2.shop?region=us-west-2amp;filter=m4,a1'
Instance Type    Memory             vCPUs  Storage               Network             Price       Monthly     Spot Price
a1.xlarge        8 GiB            4 vCPUs  EBS only              Up to 10 Gigabit    0.1020      74.460      0.0334
m4.2xlarge       32 GiB           8 vCPUs  EBS only              High                0.4000      292.000     0.1398
...
m4.xlarge        16 GiB           4 vCPUs  EBS only              High                0.2000      146.000     0.0657
  

Чтобы результаты выглядели примерно так…

 a1.xlarge        8 GiB            4 vCPUs  EBS only              Up to 10 Gigabit    0.1020      74.460      0.0334
m4.xlarge        16 GiB           4 vCPUs  EBS only              High                0.2000      146.000     0.0657
  

Так проще сравнивать результаты. xlarge должны быть сгруппированы вместе, в то время как 2xlarge должны быть рядом друг с другом.

Комментарии:

1. sort -t"." -k2 сделал бы это, но не обработал строку заголовка.

Ответ №1:

 $ curl -s 'https://ec2.shop?region=us-west-2amp;filter=m4,a1' | sort -k2 -t.
Instance Type    Memory             vCPUs  Storage               Network             Price       Monthly     Spot Price
m4.10xlarge      160 GiB         40 vCPUs  EBS only              10 Gigabit          2.0000      1460.000    0.7443    
m4.16xlarge      256 GiB         64 vCPUs  EBS only              20 Gigabit          3.2000      2336.000    1.1896    
a1.2xlarge       16 GiB           8 vCPUs  EBS only              Up to 10 Gigabit    0.2040      148.920     0.0667    
m4.2xlarge       32 GiB           8 vCPUs  EBS only              High                0.4000      292.000     0.1398    
a1.4xlarge       32 GiB          16 vCPUs  EBS only              Up to 10 Gigabit    0.4080      297.840     0.1335    
m4.4xlarge       64 GiB          16 vCPUs  EBS only              High                0.8000      584.000     0.3199    
a1.large         4 GiB            2 vCPUs  EBS only              Up to 10 Gigabit    0.0510      37.230      0.0167    
m4.large         8 GiB            2 vCPUs  EBS only              Moderate            0.1000      73.000      0.0341    
a1.medium        2 GiB            1 vCPUs  EBS only              Up to 10 Gigabit    0.0255      18.615      0.0083    
a1.metal         32 GiB          16 vCPUs  EBS only              Up to 10 Gigabit    0.4080      297.840     0.1335    
m4.xlarge        16 GiB           4 vCPUs  EBS only              High                0.2000      146.000     0.0657    
a1.xlarge        8 GiB            4 vCPUs  EBS only              Up to 10 Gigabit    0.1020      74.460      0.0334