Функция Bash с параметрами «сухого» -запуска и выполнения

date0='20190501'
date1='20190622'
numDays=$(( ( $(date -d "$date1" +'%s' ) - $(date -d "$date0" +'%s' ) ) / (60*60*24) ))
for day in $( seq 0 $((numDays-1)) ); do
  d=$(date -d "$date0 + ${day}days" +"%Y-%m-%d")
  echo $d $( find. -maxdepth 1 -type f -newermt "$d"  ! -newermt "$d + 1day" | grep '.' -c )
done

Получить количество дней по разнице между date0и date1, зациклить каждый день и вывести найденный результат.

версия xarg

date0='20190501'
date1='20190622'
seq 0 $(( ( $(date -d "$date1" +'%s' ) - $(date -d "$date0" +'%s' ) ) / (60*60*24) )) \
  | head -n -1 \
  | xargs -I{} date -d "$date0 + {}days" +%Y%m%d \
  | xargs -I{1} bash -c 'echo {1} $(find. -maxdepth 1 -type f -newermt "{1}" ! -newermt "{1} + 1day" | grep "." -c)'
0
19.07.2021, 15:05
0 ответов

Теги

Похожие вопросы