名前、郵便番号、年齢dd / mm/yyを読み取る3つの列を持つcsvファイルがあります。今日の日付から各エントリの経過時間を計算して、csvファイルの4番目の列に出力したいですか?awkが便利であることは知っていますが、さまざまな列のデータを読み書きして新しい列を作成する方法がわかりません。例えば
name,postcode,dob,age
Dave,ws245f,09/12/2000,13
私は次の入力を持っています
`cat estimateAge.csv|awk -F'/|,' '{b=mktime($5" "$4" "$3" 00 00 00 00");a (systime()-b)/(365*24*60*60);a=a==int(a)?a:int(a)+1;print $0","a}`'
これが出力です
Joe Bloggs,0121 545465650,01/03/1982,31
出力は次のようになります
Joe Bloggs,0121 545465650,01/03/1982,30
Joe Bloggsは3月までまだ31歳ではないため、年齢の計算が正しくないことに注意してください。