以下の形式のように日付を並べ替えようとしていますが、日、日付、月、年に基づいて並べ替えることはできません。いくつかの他の方法を試しましたが、うまくいきません。どんな意見でも大変感謝いたします。
私が試したこと:
rpm -qa --queryformat '%{installtime:date}\n' |
sort -n
rpm -qa --queryformat '%{installtime:date}\n' |
awk '{$1=""; print $0}' | sort -t- -k2.1,2.3
rpm -qa --queryformat '%{installtime:date}\n' |
awk '{$1=""; print $0}' | sort -n -k3 -k2 -k1
フォーマット/出力:
Wed 17 May 2017 01:41:05 PM CDT
Wed 17 May 2017 01:41:05 PM CDT
Wed 17 May 2017 01:41:06 PM CDT
Wed 17 May 2017 01:41:06 PM CDT
Wed 28 Apr 2021 08:56:30 AM CDT
Wed 29 Jan 2020 04:57:23 PM CST
Wed 29 Jan 2020 04:57:24 PM CST
ベストアンサー1
使用されるオプションsort
は、-M
「1月」..「12月」の順序で月をソートします。
sort -k4,4n -k3,3M -k2,2n
出力は年、月、最後の日付でソートされます。
のコア標準形式は-k field1[,field2]
非常に重要かもしれません(この場合はそれほど重要ではありませんが)。キーが欠落している場合、field2
キーの終わりはデフォルトで行の終わりに設定されます。