こんにちは、AWKを使用してディレクトリを検索するために月と日(6日前、6月29日)を一致させるために以下のコマンドを使用しようとしていますが、結果は予想通り約1800ではなく常に「0」です。
ls -ltr /test/output|awk -v month="$(date --date="6 days ago" +"\"%b\"")", -v day="$(date --date="6 days ago" +%d)" '$6 ==month && $7==day {print $9}'|wc -l
また、これを試しました。
ls -ltr /test/output|awk -v month="$(date --date="6 days ago" +%b)", -v day="$(date --date="6 days ago" +%d)" '$6 ==month && $7==day {print $9}'|wc -l
しかし、月をハードコーディングすると機能します
ls -ltr /test/output|awk -v month="$(date --date="6 days ago" +"\"%b\"")", -v day="$(date --date="6 days ago" +%d)" '$6 =="Jun" && $7==day {print $9}'|wc -l
コードに欠けている部分を提案してください。
ベストアンサー1
一般に、解析された出力ls
は良い考えではありません。さらに、ファイルの数だけに興味があるようで、アプローチが不必要に複雑になりました。私は次のことを提案します:
find -maxdepth 1 -printf "%TY-%Tm-%Td\n" | grep -c $(date -d "6 days ago" +'%Y-%m-%d')