ファイルログの最後の3つの日付を取得するには?

ファイルログの最後の3つの日付を取得するには?

次の出力の最後の3つの日付を印刷するには:

User;month/day/year

    user1:01/01/2015
    user1:01/01/2015
    user1:01/01/2015
    ...
    user1:01/09/2018
    user1:01/08/2018
    user1:01/07/2018
    user1:01/04/2016
    user1:01/02/2016
    user1:01/01/2016

この場合(2018年基準)

編集する:

次のawkコマンドがあります。

awk '{ print $1":" substr( $0,285,291 )}' $file_input | awk '{ print $1}' | sort -n -r

希望の出力:

    user1:01/09/2018
    user1:01/08/2018
    user1:01/07/2018

ベストアンサー1

ここではYYYY、部品が最初に並べ替えられ、次にmm/dd語彙ごとに整列されます。

これは、それぞれ2番目の区切り文字フィールドの文字7〜10文字1〜5です。したがって、次のようになります。:

<file sort -r -b -t: -k2.7,2.10 -k 2.1,2.5 | head -n 3

-b周囲のスペースを許可(および無視)するには、ここに1つを追加してください:

おすすめ記事