Я пытаюсь получить все файлы между двумя датами на s3 -
aws s3 ls 's3://big-data-analytics-prod/LZ/copycat/emailstats/' --recursive | sed "/2018-06-01/,/`date +%Y-%m-%d -d '30 days ago'`/p"
Это дает мне все данные.Использовал это, но это не работает - https://stackoverflow.com/a/29412898/2251058 (ничего не фильтрует) Это правильный способ сделать это.
Любая помощь с этим приветствуется.
Обновления
По запросу - RavinderSingh13
Я использовал -n как и нашел без -n, команда sed действует как команда cat.
Как предложеноjhnc Я добавил -n для использования в качестве команды grep, и он дает пустой результат
Пример шаблона ввода - это что-то вроде следующего с пустым результатом
2018-06-01 13:32:20 <filesize> <filepath>....gz
.
.
.
.
2019-02-04 00:13:12 12344 <filepath>....gz
С добавленным -n (для использования в качествеgrep), у меня была ошибка выше, где -n не использовался, он не показывает никакого вывода.Для проверки я использовал следующие команды.Это не дает вывода.
echo "2018-01-01" | sed -n "/2018-06-01/,/`date +%Y-%m-%d -d '30 days ago'`/p"
echo "2019-01-01" | sed -n "/2018-06-01/,/`date +%Y-%m-%d -d '30 days ago'`/p"
echo "2019-02-01" | sed -n "/2018-06-01/,/`date +%Y-%m-%d -d '30 days ago'`/p"
echo "2019-02-01" | sed -n "/2018-06-01/,/2019-01-05/p"
echo "2019-06-30" | sed -n "/2018-06-01/,/2019-01-05/p"