У меня есть странная проблема при взаимодействии с SFTP-сервером. Мне нужно войти в систему, найти последний файл, удовлетворяющий определенным критериям, и загрузить его. Все это из сценария bash. Как это было сделано до сих пор была просто запуская ls -lt
и принимая первую строку вывода:Bash + SFTP shell: сортировать отсортированный список файлов?
echo "ls -lt" > tmp.sftp
sftp -b tmp.sftp [email protected]:/inbox 1>sftp.log 2>&1
FILE=$(cat sftp.log | sed -n 3p | awk '{print $NF}')
echo "get $FILE" > tmp.sftp
sftp -b tmp.sftp [email protected]:/inbox
Однако, в последнее время они начали помещать другие файлы (которые я не забочусь о) в ту же папку , Я попытался изменить код, чтобы сделать ls -lt blah*
, но по какой-то причине, когда есть подстановочный фильтр, список файлов сортируется в обратном порядке ...
Я чувствую себя так, как я решаю это смешно, должно быть лучший способ. В каком направлении я смотрю? Curl? Wget? Благодаря!
Спасибо за ваши предложения. К сожалению, 'ssh user @ ftps.server.com' зависает, я предполагаю, что у них установлены оболочки'/bin/false' или что-то еще. – braindancer