誰かが関連付けられた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=15
:b=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
=
答え2
使用sort
コマンド:
sort -t'=' -k2 file
-t'='
=
- フィールド区切り文字として使用されるシンボル-k2
- 2番目のフィールドでソート
出力:
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
答え3
使用:
sort -t. -nk1,1 -nk2,2 -nk3,3 -nk4,4 file
-n
- 数字で並べ替え
ソートする必要があります4つの分野それぞれ。