Как составить список файлов в каталоге на основе последнего времени и пройтись по этому списку файлов и сохранить его в массив для сопоставления с образцом - PullRequest
0 голосов
/ 14 октября 2019

Я хочу перечислить файлы в каталоге на основе отметки времени. разбить и добавить эти файлы в массив, а затем выполнить цикл.

ls -t команда выводит список последних файлов, но не знает, как их разбить и сохранить в массиве

ls -t *.ack

1 Ответ

0 голосов
/ 14 октября 2019

Если в имени файла нет специальных символов (пробелы, подстановочные знаки и т. Д.) И если число файлов невелико (обычно <1000), вы можете использовать <code>bash массивы:

Предполагая, что split означает разделение вывода ls на отдельные файлы.

Если нет, рассмотрите использование find / xargs.

a=($(ls -t))
# A is sorted by timestamp
for file in "${a[@]}" ; do
    Do something with '$file'
    echo $file
done
# Technically, no need for intermediate array. Iterate over the response.
for file in $(ls -t) ; do
    Do something with '$file'
    echo $file
done
...