23

Linux のマニュアルから: キーで並べ替えます。KEYDEF は場所とタイプを指定します。

それが何を意味するのかわかりませんが、次のように使用されているのを見ました:

cut -f 2 *ptt | tail -n +4 | sort | uniq -c | sort -k1 -rn

そして、再びこのように:

ls -1 *\.flv | sort -n -k1.2
4

2 に答える 2

33

KEYDEF は、開始位置と停止位置を表す F[.C][OPTS][,F[.C][OPTS]] です。ここで、F はフィールド番号、C はフィールド内の文字位置です。どちらも起点 1 で、停止位置はデフォルトで線の終点になります。-t も -b も有効でない場合、フィールド内の文字は先行する空白の先頭からカウントされます。OPTS は、1 つまたは複数の 1 文字の順序付けオプション [bdfgiMhnRrV] であり、そのキーのグローバルな順序付けオプションをオーバーライドします。キーが指定されていない場合は、行全体をキーとして使用します。

入力ファイルの例:

123 233
214 176 
341 325

最初のフィールドでソート:

sort -t' ' -k1 input

与えます:

123 233
214 176
341 325

2 番目のフィールド:

sort -t' ' -k2 input

与えます:

214 176
123 233
341 325

最初のフィールドの 2 桁目と 3 桁目:

sort -t' ' -k1.2 input

与えます:

214 176
123 233
341 325

2 番目のフィールドの最後の桁:

sort -t' ' -k2.3 input

与えます:

123 233
341 325
214 176 
于 2013-07-04T21:54:19.913 に答える
7

マニュアルページよりも短い言葉で: ファイルがどの「列」でソートされるかを指定します。列番号にピリオドが含まれている場合、ピリオドを過ぎた値がフィールド内のオフセットとして使用されます。たとえば-k1.2、最初の列の 2 番目の文字で並べ替えます。

列は通常タブ文字で区切られますが、 で変更できます-t。たとえば、-t,カンマで区切られた列を使用します (例: CSV ファイル)。

于 2013-07-04T22:34:37.457 に答える