Intereting Posts
Совместное использование SWAP и / home вместе с Ubuntu 15.10 и Kali Linux 2.0 «Никогда не скрывать» Unity запуска с помощью CCSM и gconf не работает Могу ли я играть в игры в окна с использованием вина и / или пара? Начать передачу в фоновом режиме / Ubuntu 14.04 отсутствует /boot/grub/device.map Загрязнен, аккумулятор не заряжается, не работает Двойные окна загрузки 8 – ubuntu; обновление до окон 10 Как получить доступ к общим файлам на Ubuntu с помощью Windows-машины? Зашифрованный своп-раздел для 14.04 Как исправить сероватый двойной монитор на машине с графикой NVidia? Как заставить Firefox использовать хранилище Gnome Keyring для хранения и извлечения пароля? Как я могу принести все окна приложения на передний план? Как можно вызвать программы, которые не «коренится» в операционной системе Мониторинг переключения при закрытии крышки ноутбука Как изменить свой левый уровень cron на 7 из значения по умолчанию 1?

date: дополнительный операнд ‘+% s’

Я столкнулся с небольшой ошибкой, которая не вредит моей программе за использование, но приносит ее в обход. Он продолжает давать мне ошибку:

date: extra operand '+%s' 

Кажется, это действительно влияет на скорость процесса обработки, что связано с тем, что я планирую удалить сотни тысяч файлов журналов. Вот эта программа:

 #!/bin/bash # Usage: ./s3DeleteByDate "bucketname" "2m" aws s3 ls s3://$1 | grep " DIR " -v | while read -r line; do createDate=$(echo "$line" | awk '{print $1" "$2}') createDate=`date -d "%Y-%m-%d %H:%M" "$createDate" +%s` olderThan=`date -d $2 +%s` if [[ $createDate -lt $olderThan ]] then fileName=`echo $line|awk {'print $4'}` if [[ $fileName != "" ]] then aws s3 rm s3://$1"$fileName" --exclude "*" --include "*.tmp" fi fi done; 

В этой строке есть два спецификатора формата:

 createDate=`date -d "%Y-%m-%d %H:%M" "$createDate" +%s` 

Предположительно, вы хотели форматировать $createDate используя:

 createDate=`date -d "$createDate" +"%Y-%m-%d %H:%M"` 

или же:

 createDate=`date -d "$createDate" +%s` 

Мои деньги находятся на втором, так как позже вы используете численное сравнение в вашем if .

Я изменил строку 7 на: date +% s -d “$ createDate”.
Это работает, потому что это дата GNU, которая не позволяет указать формат ввода для даты. Это исправляет ошибку.