Описание тега ping-pong
Используйте найти
команду, чтобы перечислить файлы, которые вы хотите переименовать. Выберите только имена файлов с пробелами для исполнения. Пройти углубленный
вариант действовать на файлы в подкаталогах, прежде чем действовать на сам каталог, так как переименование каталогов как найти
это пересечение их приведет в некоторых каталогах были упущены.
найти /путь/к/каталогу -глубина-имя '* *' -exec для ... {} +
Если у вас есть prename
команды, она применяется на Perl выражения для переименования файлов. Вам нужно позаботиться, чтобы действовать только на имя файла, а не на весь каталог. Если найти
есть -execdir
действий, это удобный способ сделать это:
найти /путь/к/директории -имя '* *' -execdir prename с/ //г' {} +
Заменить с/ //г
купить с/ /_/г
заменяет пробелы на подчеркивания, а не удалить их полностью, или с/ +/_/G и
заменить последовательности пробелов одним подчеркивают.
Без -execdir
вам нужен каталог избегание логики в программе Perl-код.
найти /путь/к/каталогу -глубина-имя '* *' -exec для prename '
с:.*/::; каталог $dir=$&;
ы/ //г;
$_="$Dir и$_"
'{} +
Если у вас нет prename
, вы можете сделать это с помощью shell-скрипт. Вам потребуется для вызова консоли от найти
. Если у вас есть КШ, вы можете использовать ${файл// /}
построить, чтобы получить значение переменной файл
без пробелов (используйте ${файл// /_}
, чтобы заменить каждый пробел на символ подчеркивания):
найти /путь/к/каталогу -глубина-имя '* *' -execdir КШ -с '
МВ "$0" "${0// /}"
'{} \;
или
найти /путь/к/каталогу -глубина-имя '* *' -exec для КШ -с '
для файл Сделать
маршрутизатор dir=${файл%/*};
файл=${х##*/};
файл MV "каталог$dir/$" "каталог$dir/${файл// /}";
сделано
'_ {} +
Если у вас есть bash или МКШ, вы можете использовать его вместо КШ. Если у вас нет, вы можете использовать СЭД
, чтобы сделать строку обработки.
найти /путь/к/каталогу -глубина-имя '* *' -exec для Ш-с '
для файл Сделать
маршрутизатор dir=${файл%/*};
файл=${х##*/};
without_spaces=$(е %с "$файл." | СЭД "ы/ //г")
файл MV "каталог$dir/$" "каталог$dir/${without_spaces%.}";
сделано
'_ {} +