Задать вопрос
@skyspirit

Как создать функцию в bash?

вводные:
1. нужна функция, которая будет переименовать файлы.
2. сейчас это работает вот так
Renamer="/mnt/c/Users/bolshukhin_roman/Script/rename.txt" # файл с шаблоном замен
x="$IFS";IFS=$'\n';for WhatFile in $(find "$Downloads" -regex "$ExVideo" -o -regex "$ExMusic" -o -regex "$CUEFILE" | sort -r   ); 
do
IFS="$x"
# извлекаем название найденного файла
WhatFileName=$(basename "$WhatFile" )
for RenameFile in "${WhatFile[@]}"; 
		do
		WhatRenameFile=$( echo "$WhatFileName" | sed -f "$Renamer" ) ; 
			if [ "$WhatFileName" != "$WhatRenameFile" ]; 
				then
					mv -fv "$WhatFile" "$WhatFolder"/"$WhatRenameFile"
			fi
		done
done


нужно:

rename_file (){
функция
}


работа по принципу:

rename_file "$WhatFile"

test_f(){
for value in "$@"
do
# название найденного файла
WhatFile_Rename=$( basename "$@"  | sed -f "$Renamer" ) ;
# полный путь к файлу
WhatFolder_all_address=$(dirname "$WhatFile" );
echo mv -fv "$@" "$WhatFolder_all_address"/"$WhatFile_Rename"
done
}

test_f "$WhatFile"


Вроде, работает. Нет?
  • Вопрос задан
  • 55 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы