Linux

對與 linux 中 txt 文件中的字元串關聯的 IP 進行排序

  • September 7, 2017

有人可以幫我從包含字元串的 .txt 文件中對 IP 進行數字排序,並與 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

由於我們公司的數據政策,我不確定我是否可以發布原始值。所以,取而代之的是這些虛擬值。

使用-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

-k2with-t '='使得將sort之後的數據=視為排序鍵。

引用自:https://unix.stackexchange.com/questions/390881