Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 13

Заменить расширения имен файлов в заданной директории и поддиректориях

23.06.2016, 17:22. Показов 2344. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет) Прошу помощи господа. Задача такова:

Реализовать сценарий на диалекте языка командного интерпретатора bash, производящий изменение суффиксов (расширений) имен файлов в заданной директории (и всех поддиректориях).

Входные параметры:
- задаваемая директория;
- исходный суффикс файлов;
- целевой суффикс файлов.

На просторах интернета нашел скрипт, но он не проходится по поддиректориям.

Bash
1
2
3
4
5
#!/bin/bash
cd "$1"
for fname in *.$2; do 
mv $fname ${fname/.$2/.$3}
done
Сам пробовал поправить, не получается (
Bash
1
2
3
4
5
#!/bin/bash
cd "$1"
for fname in `find "$1" -iname '*.$2'`; do
mv $fname ${fname/.$2/.$3}
done
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.06.2016, 17:22
Ответы с готовыми решениями:

Получение имен файлов в директории по заданной маске
Можно ли это сделать налету с FileSystemObject, если, например, надо вывести все файлы в заданном каталоге которые начинаются на 'text_' и...

Заменить расширения всех файлов в текущей директории на расширение “.cul”
Задание: Заменить расширения все файлов в текущей директории на расширение “.cul”. Если переименовываемый файл уже существует, то...

Поиск файлов по размеру в директории и поддиректориях
Всем привет! Пока новичок в этом деле, по этому сильно не пинайте если вопрос глупый. Нашел пример поиска файлов, подогнал его по своим...

3
74 / 74 / 17
Регистрация: 06.05.2016
Сообщений: 413
23.06.2016, 18:07
Лучший ответ Сообщение было отмечено jujdu как решение

Решение

Bash
1
2
#!/bin/sh
find $1 -type f -exec rename "s/$2$/$3/" {} \;
1
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 13
23.06.2016, 20:20  [ТС]
Большое спасибо!

p.s. чувствую себя очень тупым...)
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
24.06.2016, 16:38
Bash
1
2
#!/bin/sh
find $1 -type f -iname "*.$2" -exec rename.ul .$2 .$3 {} +
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2016, 16:38
Помогаю со студенческими работами здесь

Произвести изменение суффиксов (расширений) имен файлов в заданной директории
Подскажите, пожалуйста: Реализовать сценарий на диалекте языка командного интерпретатора bash, производящий изменение суффиксов...

Как получить список всех файлов в директории и поддиректориях
Требуется сделать метод, который бы возвращал массив всех файлов находящихся в заданной директории и всех поддиректориях на произвольную...

Вывод информации об определённых файлах из заданной директории в обратном алфавитном порядке имён этих файлов
Здравствуйте. Нужно создать пакетный файл, который будет выводить информацию о какой либо директории, записывать эту информацию в файл, а...

Вывод всех файлов и поддиректорий в заданной директории (добавить в код ввод директории)
.586p .model flat, stdcall std_output_handle equ -11 std_input_handle equ -10 extern wsprintfA:near extern CharToOemA@8:near ...

Нужно получить список расширения файлов в директории
#!/bin/bash find . -type f -name "*.*"|while read file nam=${file##*.} А что дальше делать не знаю,хотя и в предыдущем не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru