Написать скрипт на BASH с созданием синонимов файлов
Необходимо написать скрипт на BASH, задание: Создание синонима всех файлов с указанным суффиксом и числом связей, большим 1, путём перестановки суффиксов в именах исходных файлов в начало и удаления точки. Входные данные:
- директория в которой ищем файлы -суффикс файла
Пока что получается вот так:
#!/bin/bash
dir=$1
suff=$2
el="?"
#Проверка параметров
if [[ -z $dir ]]
then
echo "Для работы программы требуется ввести директорию и суффикс файла!"
exit
elif [[ -z $suff ]]
then
echo "Для работы программы требуется ввести суффикс файла"
exit
fi
if [[ $dir = $el ]]
then
echo "Правильный порядок ввода: ./myscript директория суффикс"
exit
fi
cd $dir
find() {
array=$(ls $PWD/*)
for file in $array
do
#Если встретили директорию
if [ -d $file ]
then
cd $file
find
else
#Если встретили файл
if [ -f $file ] && [ $(stat --format=%h $file) -gt 1 ] && [[ "${file##*.}" == "$suff" ]]
then
echo $file
fi
fi
cd ..
done
}
find
# a=$(stat --format=%h $dir)
#echo $(stat --format=%h $dir)
В этом коде не работает проверка на совпадение введённого суффикса с суффиксом файла + нужно дописать создание файла-синонима, как я понимаю, нужно будет просто скопировать нужный нам файл с изменённым названием в формате <суффикс_название.суффикс> Помогите разобраться, почему не работает проверка суффикса и как создать файл - синоним?