Требуется разработать и установить в системе свою собственную команду терминала, которая принимает на вход путь до директории и строку с расширением файла. Скрипт или программа должна добавить это расширение к именам всем файлов в заданной директории, если содержимое файла начинается с цифры
Сам код необъёмный и достаточно простой:
#!/bin/bash
#1 - path
#2 - type
cd $1
n=(0 1 2 3 4 5 6 7 8 9)
for var in $(ls)
do
for num in ${n[*]}
do
if [ "$( head -c 1 $var )" == "$num" ]
then
mv $var $var.$2
break
fi
done
done#!/bin/bashуказывает системе, где искать программу, которая будет исполнять скрипт#1 - pathи#2 - type- Комментарии, указывающие что вводится пользователем в параметрыcd $1- Переход в нужную директорию для дальнейшего выполнения скриптаn=(0 1 2 3 4 5 6 7 8 9)- Объявление набора чисел для проверки
for var in $(ls)
do
for num in ${n[*]}
do
if [ "$( head -c 1 $var )" == "$num" ]
then
mv $var $var.$2
break
fi
done
doneДалее расмотрим цикл, решающий нашу задачу. Внешний цикл отвечает за пробегание по файлам в директории. Вложенный цикл сравнивает первый символ в файле с цифрами из набора. Если есть совпадение, скрипт меняет название файла и заканчивает вложенный цикл.
Этот скрипт можно написать разными способами. Можно как короче, так и длинее. Другиие варианты можно найти в репозиториях организации.
