В скрипте bash как перебирать файлы, отсортированные по дате - PullRequest
0 голосов
/ 19 марта 2019

У меня есть следующий скрипт:

#!/bin/sh
HOST='host'
USER='user@example.com'
PASSWD='pwd'

for FILE in *.avi
do
    ftp -n $HOST <<END_SCRIPT
    quote USER $USER
    quote PASS $PASSWD
    binary
    put $FILE
    rm FILE 
    quit
done
END_SCRIPT
exit 0

Как мне убедиться, что я сначала обработал самый старый файл?Я видел много хаков, использующих ls -t, но должен быть более простой способ.

1 Ответ

0 голосов
/ 19 марта 2019

Я бы изменил ваш for цикл следующим образом:

for FILE in `ls -tU *.avi`
do
  #
  # loop content here with ${FILE}
  #
done

Из ls документов:

-t      Sort by time modified (most recently modified first) before 
        sorting the operands by lexicographical order.
-U      Use time of file creation, instead of last modification for 
        sorting (-t) or long output (-l).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...