アライメントにおけるk前後のr位置

アライメントにおけるk前後のr位置

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.

関連情報