for file in $1/*; do
echo `stat -c %y $file | cut -d ' ' -f1`
done
$1 - это каталог, который я передаю.
B. Также есть способ сделать это. Для этого мне нужно передать каталог и диапазон дат в качестве аргумента командной строки и перечислить файл и изменить дату, которая находится в этом диапазоне дат.
Например, output.sh /home/user/desktop 2014-10-07 2014-11-17 должен указать все файлы в этом каталоге, которые изменен в этот временной интервал.
Для части A более эффективный подход:
find $1 -maxdepth 1 ! -type d -exec stat -c "%y" {} + | cut -d' ' -f1
find отлично подходит для фильтрации по типу, а exec с + должен работать намного меньше stat процесса , Трубопровод всего выхода на cut означает, что мы должны запускать cut только один раз. И действительно нет необходимости делать
echo `some command`
Единственное преимущество - преобразовать многострочный вывод в одну строку, что в любом случае не применимо к вашему делу.