Рекурсивный поиск в каталоге, отображение самого последнего файла в folder

Кто-нибудь может указать, где я ошибаюсь, пожалуйста. Выполняю поиск в каталоге (на основе структуры папок и типа файла) Структура папок одинакова для всех клиентов. Просто папка клиента называется иначе. Пример структуры:

  • Httpdocs / client1 / channel1 / backup
  • Httpdocs / client5 / channel5 / backup
  • Httpdocs / client8 / channel1 / backup

Это частично работает, он просто показывает мне ВСЕ файлы в резервной копии папка добавлен к самому последнему файлу.

#!/bin/bash

# Array of root folders
#folders=("a" "b")
array=(httpdocs/*\/client1/backup/*.xml)

# Search all specified root folders
for dir in "${array[@]}"; 
do echo "$dir";
    # date of each file with "stat"
    find -path $array -type f -exec stat -f "%m,%N" {} ';' | \
        # sort by date, most recent first
        sort -gr | \
        # extract first (most recent) file
        head -1 | \
        # return file name only
        cut -d, -f2
done

Голова не работает. По какой причине? у меня неправильное форматирование?

Я также пробовал:

find -path "*\/chanel1/backup/*.xml" -type f | sort -gr | head -1 | cut -d, -f2

Это просто выводит последнюю папку в списке с последним файлом в этой папке. (Мне нужно запустить это в веб-корневом каталоге (Httpdocs))

0
05.05.2016, 15:29
0 ответов

Теги

Похожие вопросы