この出力をソートする方法 1,10,11..2

この出力をソートする方法 1,10,11..2

場合によっては、データベースに追加のディスクを追加する必要があります。これを行うには、すでに存在するディスクを確認するためにディスクを一覧表示する必要があります。

問題は、出力が常に1,10,11,12...2,20,21...3などにソートされることです。

必要な方法で出力をソートするにはどうすればよいですか? Simpleはsort機能しませんsort -t.. -k.. -n

ソートする必要がある項目の例:

[root@server1 ~]# oracleasm listdisks
DATA1
DATA10
DATA11
DATA12
DATA2
DATA3
DATA4
DATA5
DATA6
DATA7
DATA8
DATA9
FRA1
FRA10
FRA11
FRA2
FRA3
..
OCR1
OCR2
OCR3
....

出力を表示する方法は次のとおりです。

DATA1
DATA2
DATA3
DATA4
DATA5
DATA6
DATA7
DATA8
DATA9
DATA10
DATA11
DATA12
FRA1
FRA2
FRA3
..
..
FRA10
FRA11
..
OCR1
OCR2
OCR3
....

ベストアンサー1

最善の方法は、GNUにパイプしsortsortGNU--version-sortオプションを有効にすることです。

だからそれはoracleasm listdisks | sort --version-sort

情報ページから

--version-sort’
     Sort by version name and number.  It behaves like a standard sort,
     except that each sequence of decimal digits is treated numerically
     as an index/version number.  (*Note Details about version sort::.)

あなたのコメントに基づいて私に提供されます。

DATA1
DATA2
DATA3
DATA4
DATA5
DATA6
DATA7
DATA8
DATA9
DATA10
DATA11
DATA12
FRA1
FRA2
FRA3
FRA10
FRA11
OCR1
OCR2
OCR3

おすすめ記事