Intereting Posts
Можно ли зарезервировать / ограничить использование сети для определенных процессов (приложений)? Маршрутизировать весь трафик через OpenVPN Ubuntu 12.10 не загружается с usb – isolinux.bin отсутствует или поврежден Могу ли я отключить поведение alt + window + right click для редактирования панелей в Gnome Classic? Проблемы с зависимостями linux-image-3.13.0-43-generic Являются ли источники программного обеспечения ubuntu отличными от apt-get / synaptic? Файлы в папке «Псевдоним» недоступны обновление git на Ubuntu 10.04 (Lucid Lynx) Я могу использовать SSH на удаленном хосте, но получить «Connection reset by peer» с SSHFS, что мне не хватает? Восстановление режима сети с чистой установки – resolve.conf: нет такого файла или каталога Невозможно изменить пароль – учетная запись пользователя не входит в список настроек учетной записи Автоматически переключать графический драйвер gpu при игре Как пользователь может подключить зашифрованный контейнер файлов в VeraCrypt? Двойная загрузка Ubuntu и Windows 7, я могу загружать только ubuntu через режим восстановления Как запустить программу в ее собственном, временном, xdisplay (runx)?

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, которая не позволяет указать формат ввода для даты. Это исправляет ошибку.