Темы

Блоги

bash - список файлов в цикле Пятница 02 Июль 2010 08:27:18

Очень часто нужно выполнить какую либо операцию со списком файлов. Можно конечно все делать в ручную, но гораздо быстрее будет написать bash-скрипт, который выполняет все действия над списком файлов.

Вот пример этого скрипта:


#!/bin/bash

FILES="/my/file1
/my/file2
/my/file3" # Список интересующих нас файлов.

echo

for file in $FILES
do

if [ ! -e "$file" ] # Проверка наличия файла.
then
echo "Файл $file не найден."; echo
continue # Переход к следующей итерации.
fi

ls -l $file | awk '{ print $8 " размер: " $5 }'
whatis `basename $file` # Информация о файле.
echo
done

exit 0

Что же делает этот скрипт?

Первая строка говорит, указывает системе какой интерпретатор следует использовать. В нашем случае это bash.

Далее в переменную FILES мы заносим список файлов, которые требуется обработать. В нашем случае это какие-то три абстрактных файла.

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

Следующие строки в теле цикла могут делать с файлом все, что угодно вашей душе. В приведенном скрипте выводится некоторая информация о файле.

Такой несложный кусок скрипта поможет вам упростить обработку списка файлов.

 

Теги:

Комментарии

  • Blackwolf Воскресенье 27 Февраль 2011 03:23:01
    Спасибо огромное! Долго искал, как отсортировать файлы ИЗ СПИСКА по дате, только здесь внятно написано, что ls будет работать со списком в переменной.
  • vasiatka Четверг 06 Октябрь 2011 23:56:20
    рад, что пригодилось

Написать комментарий

Прежде чем высказать свое мнение, прочитайте пожалуйста правила!
Вам необходимо включить показ изображений в браузере для того чтобы увидеть код

Дайте нам знать, что вы - живой человек. Для нас это важно!
Кликните, если плохо видно