複数の行を持つ複数のファイルを編集する必要があり、次のようにすべてが 3 列になっています。
#file
save get go
go save get
rest place reset
列はタブで区切られています。viを使用して2列目または3列目に基づいて行をソートする方法はありますか?
複数の行を持つ複数のファイルを編集する必要があり、次のようにすべてが 3 列になっています。
#file
save get go
go save get
rest place reset
列はタブで区切られています。viを使用して2列目または3列目に基づいて行をソートする方法はありますか?
2番目の列で並べ替えます。
:sor /\t/
3番目の列で並べ替えます。
:sor /\t[^\t]*\t/
2 列目:
:sort /\%9c/
3 列目:
:sort /\%16c/
\%16c
「16列目」を意味します。
のパターンを指定できますsort
。例えば:
sort /^\w*\s*/
2番目の列でソートします(パターンを一致させた後に最初にソートするもの)。
同じく
sort /^\w*\s*\w*\s*/
3番目の列で並べ替える必要があります。
こんにちは、「V」コマンドで並べ替えたい行を照らします
「!」を指定してbashコマンドを使用します 次のように、選択に取り組みます。
!sort -k 10
ここで、番号は2番目の(ソート)列が始まる列番号です。
viは、選択範囲を、元の選択範囲が指定されたsortコマンドの出力に置き換えます。
ここでいくつかの文字を使用して列を区切ります | 記号を区切り記号として使用すると、以下のコマンドを使用して特定の列をソートできます。数値をソートしたい場合は -n を使用し、ubuntu vi ではなく vi の一部のバージョンで動作します :(
/|.*|/ | 選別