CSVファイルをソートするために、次の2つのスクリプトを試しました。
$ sort -t"," -k1,1 -k3,3 -k4,4 -k6,6r myFile.csv
そして
$ sort -t"," -k1,1 -k3,3 -k4,4 -rk6,6 myFile.csv
そこで見つけた-アル字型前に-K6列目だけでなく、1列目も反転させながら-アル字型後ろにK列6万反転されます。一方では、なぜ私たちが入れたのか理解できません。-アル字型前と後-K違いを作る。さらに、説明も見つかりません。助けるまたは男性。
答え1
-rk6,6
このオプションを使用すると、グローバル-r
に、つまりすべてのキーに適用されます。これは次のとおりです。
sort -t"," -r -k1,1 -k3,3 -k4,4 -k6,6 myFile.csv
一方、6番目のフィールドのみが-k6,6r
適用されます。つまり、単独で適用されます。r
答え2
〜のようにマンページ説明する:
Sort keys can be specified using the options:
-k keydef
The keydef argument is a restricted sort key field definition.
The format of this definition is:
field_start[type][,field_end[type]]
where field_start and field_end define a key field restricted to a
portion of the line (see the EXTENDED DESCRIPTION section), and type is
a modifier from the list of characters 'b' , 'd' , 'f' , 'i' , 'n' ,
'r' .
-k
は限られた定義。後で指定するオプションは、-k
このフィールド定義にのみ適用されます。-r
一方、これはグローバルな選択です。マンページを引用すると次のようになります。
The following options shall override the default ordering rules. When
ordering options appear independent of any key field specifications,
the requested field ordering rules shall be applied globally to all
sort keys. When attached to a specific key (see -k), the specified
ordering options shall override all global ordering options for that
key.