Linuxのtxtファイルで文字列に関連付けられたIPソート

Linuxのtxtファイルで文字列に関連付けられたIPソート

誰かが関連付けられたIP文字列を含む.txtファイル内のIPを数字で並べ替えるのに役立ちますか?

txt内容:

string_A=10.a.y.155
string_B=10.a.y.212
string_C=10.a.y.104
string_D=10.a.y.10
string_E=10.a.y.198
string_U=10.b.x.155
string_V=10.b.x.212
string_X=10.b.x.104
string_Y=10.b.x.10
string_Z=10.b.x.198

私が望む出力:

10.a.x._ series in sorted way.

string_D=10.a.y.10
string_C=10.a.y.104
string_A=10.a.y.155
string_E=10.a.y.198
string_B=10.a.y.212

当社のデータポリシーにより、元の値を公開できるかどうかはわかりません。したがって、これらのダミー値を代わりに使用してください。

ベストアンサー1

-V(「バージョン順」)を使用して、ほとんどの実装は次のようになりますsort

$ sort -t '=' -k2 -V file
string_D=10.a.y.10
string_C=10.a.y.104
string_A=10.a.y.155
string_E=10.a.y.198
string_B=10.a.y.212
string_Y=10.b.x.10
string_X=10.b.x.104
string_U=10.b.x.155
string_Z=10.b.x.198
string_V=10.b.x.212

場合a=15b=140

$ sort -t '=' -k2 -V file
string_D=10.15.y.10
string_C=10.15.y.104
string_A=10.15.y.155
string_E=10.15.y.198
string_B=10.15.y.212
string_Y=10.140.x.10
string_X=10.140.x.104
string_U=10.140.x.155
string_Z=10.140.x.198
string_V=10.140.x.212

with-k2を使用すると、後続のデータがソートキーとして扱われます。-t '='sort=

おすすめ記事