3

複数の行を持つ複数のファイルを編集する必要があり、次のようにすべてが 3 列になっています。

#file

save    get    go
go      save   get
rest    place  reset

列はタブで区切られています。viを使用して2列または3列目に基づいて行をソートする方法はありますか?

4

5 に答える 5

4

2番目の列で並べ替えます。

:sor /\t/ 

3番目の列で並べ替えます。

:sor /\t[^\t]*\t/   
于 2013-03-20T15:09:58.303 に答える
1

2 列目:

:sort /\%9c/

3 列目:

:sort /\%16c/

\%16c「16列目」を意味します。

于 2013-03-20T15:07:09.323 に答える
0

のパターンを指定できますsort。例えば:

sort /^\w*\s*/

2番目の列でソートします(パターンを一致させた後に最初にソートするもの)。

同じく

sort /^\w*\s*\w*\s*/

3番目の列で並べ替える必要があります。

于 2013-03-20T15:00:55.747 に答える
0
  1. こんにちは、「V」コマンドで並べ替えたい行を照らします

  2. 「!」を指定してbashコマンドを使用します 次のように、選択に取り組みます。

    !sort -k 10

ここで、番号は2番目の(ソート)列が始まる列番号です。

viは、選択範囲を、元の選択範囲が指定されたsortコマンドの出力に置き換えます。

于 2013-03-20T14:58:38.347 に答える
0

ここでいくつかの文字を使用して列を区切ります | 記号を区切り記号として使用すると、以下のコマンドを使用して特定の列をソートできます。数値をソートしたい場合は -n を使用し、ubuntu vi ではなく vi の一部のバージョンで動作します :(

/|.*|/ | 選別

于 2014-01-02T18:20:08.593 に答える