Исправление legolegs, (текущая версия) :
Правильный вариант. особенно если файлов очень много (тысячи)
find ~/music\ films\ books/music/Borya\ Chistiy-/ -name '*.mp3' |
while read file; do
newfile=$(basename "$file" .mp3).bmp;
mv "$file" "$newfile"
done
Другой вариант:
set ~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3
while [ $# -gt 0 ]; do
newfile=$(basename "$1" .mp3).bmp;
mv "$1" "$newfile"
shift
done
третий вариант, с массивом (обрати внимание на кавычки, они обязательны):
FILES=(~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3)
for i in "${FILES[@]}"; do
newfile=$(basename "$i" .mp3).bmp;
mv "$i" "$newfile"
done
Четвёртый вариант, без массива, потому что он не нужен.
for i in ~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3; do
newfile=$(basename "$i" .mp3).bmp;
mv "$i" "$newfile"
done
Исправление legolegs, :
Правильный вариант. особенно если файлов очень много (тысячи)
find ~/music\ films\ books/music/Borya\ Chistiy-/ -name '*.mp3' |
while read file; do
newfile=$(basename "$file" .mp3).bmp;
mv "$file" "$newfile"
done
Другой вариант:
set ~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3
while [ $# -gt 0 ]; do
newfile=$(basename "$1" .mp3).bmp;
mv "$1" "$newfile"
shift
done
третий вариант, с массивом (обрати внимание на кавычки, они обязательны):
FILES=(~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3)
for i in "${FILES[@]}"; do
newfile=$(basename "$i" .mp3).bmp;
mv "$i" "$newfile"
done
Исправление legolegs, :
Правильный вариант. особенно если файлов очень много (тысячи)
find ~/music\ films\ books/music/Borya\ Chistiy-/ -name '*.mp3' |
while read file; do
newfile=$(basename "$1" .mp3).bmp;
mv "$1" "$newfile"
done
Другой вариант:
set ~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3
while [ $# -gt 0 ]; do
newfile=$(basename "$1" .mp3).bmp;
mv "$1" "$newfile"
shift
done
третий вариант, с массивом (обрати внимание на кавычки, они обязательны):
FILES=(~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3)
for i in "${FILES[@]}"; do
newfile=$(basename "$i" .mp3).bmp;
mv "$i" "$newfile"
done
Исправление legolegs, :
Правильный вариант. особенно если файлов очень много (тысячи)
find ~/music\ films\ books/music/Borya\ Chistiy-/ -name '*.mp3' |
while read file; do
newfile=$(basename $file .mp3).bmp;
mv $file $newfile
done
Другой вариант:
set ~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3
while [ $# -gt 0 ]; do
newfile=$(basename $1 .mp3).bmp;
mv $1 $newfile
shift
done
третий вариант, с массивом:
FILES=(~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3)
for i in "${FILES[@]}"; do
newfile=$(basename $i .mp3).bmp;
mv $i $newfile
done
Исходная версия legolegs, :
Правильный вариант. особенно если файлов очень много (тысячи)
find ~/music\ films\ books/music/Borya\ Chistiy-/ -name '*.mp3' |
while read file; do
newfile=$(basename $file .mp3).bmp;
mv $file $newfile
done
Другой вариант:
set ~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3
while [ $# -gt 0 ]; do
newfile=$(basename $1 .mp3).bmp;
mv $1 $newfile
shift
done
третий вариант, с массивом:
FILES=(~/music\ films\ books/music/Borya\ Chistiy-/*/*.mp3)
for ((i=0;i<${#FILES[@]};++i)); do
newfile=$(basename $i .mp3).bmp;
mv $i $newfile
done