web-dev-qa-db-ja.com

UNIXソート降順

レコードの5番目のフィールドに従って、タブ制限ファイルを降順で並べ替えたい。

私は試した

sort -r -k5n filename

しかし、うまくいきませんでした。

51
user1598776

-k5に付加されたnオプションが存在すると、そのフィールドではグローバル-rオプションが無視されます。 nrの両方を同じレベル(グローバルまたはローカル)で指定する必要があります。

sort -t $'\t' -k5,5rn

または

sort -rn -t $'\t' -k5,5
49
Alan Curry

5番目のフィールドでのみソートonlyする場合は、-k5,5を使用します。

また、-tコマンドラインスイッチを使用して、tabに区切り文字を指定します。これを試して:

sort  -k5,5 -r -n -t \t filename

または、上記が(tabで)機能しない場合は、次のようにします。

sort  -k5,5 -r -n -t $'\t' filename

ソートのマニュアルページ 状態:

-t、--field-separator = SEPは、非ブランクからブランクへの移行の代わりにSEPを使用します

最後に、このSOの質問 nix Sort with Tab Delimiter が役立つかもしれません。

13
Levon

サイズに基づいて昇順でファイルを一覧表示します。

find ./ -size +1000M -exec ls -tlrh {} \; |awk -F" " '{print $5,$9}'  | sort -n\
1
user2550384