入力csvファイルは次のとおりです。
23,54,one,tree,56,23,7/20/2017 17:00,iii,89
23,54,one,tree,56,23,7/20/2017 17:00,iii,89
23,54,one,tree,56,23,7/21/2017 17:00,iii,89
23,54,one,tree,56,23,7/30/2017 17:00,iii,89
現在の日付を取得するにはシェルコマンドが必要ですフォーマットして7/20/2017
から、csvファイルの3番目の列から最後の列まで同じ日付を使用してフィルタリングします(列は最初の列から検出しないでください。そうしないと、カンマによって違いが発生するため、3番目の列から最後の列列まで始める必要があります)。
ベストアンサー1
awk -F, -v "today=$(date "+%m/%d/%Y" | sed 's/^0//')" '$(NF-2) ~ "^"today' file
sedの使用が不便な場合は、日付のマニュアルページをよくお読みください。
awk -F, -v "today=$(date "+%-m/%d/%Y")" '$(NF-2) ~ "^"today' file
# .........................^^^
最後の列の 3 番目の列が空の場合、または「今日」の場合
awk -F, -v "today=$(date "+%-m/%d/%Y")" '$(NF-2) == "" || $(NF-2) ~ "^"today' file