0
私はちょうどAwk
を使い始めました。ここで私はすべての今のINPUT.TXTでオンまたはawakeのMMDDYYYY日付形式コンパイル
awk -F "\t" '(substr($2,5,4)<1997||(substr($2,5,4)==1997 && substr($2,1,2)<=05 && substr($2,3,2)<=17)) {print $1}' <input.txt
データの前に
Bharath 01061992
Ragul 10302002
Bala 01171993
Arjun 05142003
Vimal 06301997
Ramesh 05171997
Kamal 05151997
Vinoth 05201997
それだけで罰金生まれている人の名前を取得するために使用されている私のawk
コードが含まれます。私は知りたい比較の方法よりも2つの日付を比較する他の最良の方法はありますか?
を生成? '$ 2'とは何ですか? – Inian
部分文字列を連結してYYYYMMDDの順序にしてから、1つの比較だけを使用できます。 –
私は 'int(substr($ 2,5,4))'を実行して上記の作業をしなければなりませんでした。また、日付比較で '<= 1997'を使います(' && 'と' || 'の両方を使用する場合は、優先度を示すためにかっこが必要かもしれません)。最後に、日付をたくさん扱う場合は、[エポックタイムスタンプ](https://en.wikipedia.org/wiki/Unix_time)の使用を検討してください。 – urban