|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vasily Tchekalkin 2:5020/400 24 Apr 2002 11:55:17 To : Dmitriy Bagriy Subject : Re: пробелы в именах файлов заменить, напр имер, на "_" --------------------------------------------------------------------------------
Dmitriy Bagriy wrote:
> сидел как-то Dmitry Merkotan в fido7.ru.linux и обсуждал пробелы в именах
> файлов заменить, например, на "_". я проходил мимо и решил вмешаться: XeLLo,
> Dmitry! Как пробелы в именах файлов всего каталога заменить, например, на "_"?
> DM> Пример баш-скрипта/команды в командной строке/....
>
> вот пример perl-скрипта, выполняющий сабж рекурсивно от текущего каталога:
>
> ---------begin-of-killspace.pl------
>
> #!/usr/bin/perl
> sub ren
> { foreach (`ls -aA1 "@_[0]" | grep ""`)
> { chomp;
> ren("@_[0]/$_") if (-d "@_[0]/$_");
> my $n=$_; ~s/ /_/g;
> rename("@_[0]/$n","@_[0]/$_") if ($n ne $_); }; };
> ren(".");
>
> ----------end-of-killspace.pl-------
Ой. Метод KISS в действии:
for file in *\ *; do mv "$file" `echo $file|tr ' ' '_'`; done
Если нужно рекурсивно - man find
WBR, Bacek.
--- ifmail v.2.15dev5
* Origin: Yandex Technologies Ltd. (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/88692aaa1a01.html, оценка из 5, голосов 10
|