Почему не отображается имя файла? (скрипт Bash Shell) ⇐ Linux
-
Anonymous
Почему не отображается имя файла? (скрипт Bash Shell)
Вот код
#!/bin/bash # Каталог, который вы хотите проверить каталог="/volume1/archiv/Test_Count" # Даты вчера и сегодня в формате ГГГГ-ММ-ДД вчера=$(дата -d "вчера" +"%Y-%m-%d") сегодня=$(дата +"%Y-%m-%d") # Шаблон имени файла шаблон1="d$(дата +%d)*" шаблон2="d$(дата -%d)*" # Собираем файлы со вчерашнего дня files_yesterday=($(find "$directory" -type f -newermt "$yesterday" ! -newermt "$today" \( -name "$pattern2" -o -name "$pattern1" \))) # Собираем файлы за сегодняшний день files_today=($(find "$directory" -type f -newermt "$today" \( -name "$pattern2" -o -name "$pattern1" \))) # Вычисляем разницу разница=$(( ${#files_today[@]} - ${#files_yesterday[@]} )) # Выход echo "Количество вчерашних файлов: ${#files_yesterday[@]}" echo "Количество файлов сегодня: ${#files_today[@]}" echo "разница: $разница" # Если файлы отсутствуют, выведите их имена если [$разница -gt 0]; затем эхо «Отсутствующие файлы:» comm -23
Вот код
#!/bin/bash # Каталог, который вы хотите проверить каталог="/volume1/archiv/Test_Count" # Даты вчера и сегодня в формате ГГГГ-ММ-ДД вчера=$(дата -d "вчера" +"%Y-%m-%d") сегодня=$(дата +"%Y-%m-%d") # Шаблон имени файла шаблон1="d$(дата +%d)*" шаблон2="d$(дата -%d)*" # Собираем файлы со вчерашнего дня files_yesterday=($(find "$directory" -type f -newermt "$yesterday" ! -newermt "$today" \( -name "$pattern2" -o -name "$pattern1" \))) # Собираем файлы за сегодняшний день files_today=($(find "$directory" -type f -newermt "$today" \( -name "$pattern2" -o -name "$pattern1" \))) # Вычисляем разницу разница=$(( ${#files_today[@]} - ${#files_yesterday[@]} )) # Выход echo "Количество вчерашних файлов: ${#files_yesterday[@]}" echo "Количество файлов сегодня: ${#files_today[@]}" echo "разница: $разница" # Если файлы отсутствуют, выведите их имена если [$разница -gt 0]; затем эхо «Отсутствующие файлы:» comm -23
Мобильная версия