Пример A-4. blank-rename: переименование файлов, чьи имена содержат пробелы

Пример A-4. blank-rename: переименование файлов, чьи имена содержат пробелы

Это даже более простая версия предыдущего примера.

  1. #! /bin/bash
  2. # blank-rename.sh
  3. #
  4. # Заменяет пробелы символом подчеркивания в именах файлов в текущем каталоге.
  5. ONE=1                     # единственное или множественное число (см. ниже).
  6. number=0                  # Количество переименованных файлов.
  7. FOUND=0                   # Код завершения в случае успеха.
  8. for filename in *         # Перебор всех файлов в текущем каталоге.
  9. do
  10.      echo "$filename" | grep -q " "         #  Проверить — содержит ли имя файла
  11.      if [ $? -eq $FOUND ]                   #+ пробелы.
  12.      then
  13.        fname=$filename                      # Удалить путь из имени файла.
  14.        n=`echo $fname | sed -e "s/ /_/g"`   # Заменить пробелы символом подчеркивания.
  15.        mv "$fname" "$n"                     # Переименование.
  16.        let "number += 1"
  17.      fi
  18. done
  19. if [ "$number" -eq "$ONE" ]
  20. then
  21.  echo "$number файл переименован."
  22. else
  23.  echo "Переименовано файлов: $number"
  24. fi
  25. exit 0