\ -> / (windows>каталоги>linux)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
risk_2000
Сообщения: 53

\ -> /

Сообщение risk_2000 »

:huh: Проблема - закачал php script в tar.gz -> распаковал
все файлы имеют имена файлов типа admin\templates\...\...
ясныть они так и отображаются - как имена файлов
Вопрос|просьба| ccылку
как в bash 1 командой все файлы переименовать так чтобы \ заменить на /
CentOS 4.3, kernel 2.6.9-34.EL, IceWM
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: \ -> /

Сообщение Jan2ary »

Наверное что-то вроде

sed -in s/\\/\//g
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: \ -> /

Сообщение sash-kan »

(risk_2000 @ Feb 28 2006, в 13:00) писал(а):все файлы имеют имена файлов типа admin\templates\...\...
ясныть они так и отображаются - как имена файлов

т.е. каталоги отстутствуют как класс, все файлы лежат в одном каталоге и имеют описанные имена?
тогда примерно такой алгоритм:
1. берется очередной файл
2. извлекается первая часть (до косой черты).
3. создается каталог с соответствующим именем внутри текущего (если его еще нет).
4. cd в новый каталог.
5. если эта часть - не последняя, goto 2
6. mv исх. файл с переименованием в оставшийся кусок.
7. возвращаемся к исх. каталогу.
8. если еще есть файлы, goto 1
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: \ -> /

Сообщение t.t »

(sash-kan @ Feb 28 2006, в 16:27) писал(а):2. извлекается первая часть (до косой черты).
3. создается каталог с соответствующим именем внутри текущего (если его еще нет).
4. cd в новый каталог.
5. если эта часть - не последняя, goto 2
Зачем так сложно? man mkdirhier
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
risk_2000
Сообщения: 53

Re: \ -> /

Сообщение risk_2000 »

спасибо Jan2ary sash-kan и t.t
Jan2ary - сижу разбираюсь мудрено однако пока не вьехал...

sash-kan - ну через mc это монжно конечно только их там таких около 200 файлов ...
и каталоги разные типа
admin\...\...\...\..php
admin\...\.image..\..png
template\....\......\......\.....
cash\...\...

t.t - man прочитал пока не очень понял - ни ключей ни опций - завтра попробую....
в любом случае всем спасибо.
Если интересно этот скрипт - просто русификатор под joomla. Видимо решу как нить проще - скачаю например какой нить другой так что не смертельно. Но все таки интересно - прецендент, что называется есть... а если другого варианта не будет. Думаю Линух может решить эту проблему - другое дело что у меня с головой слабовато.... пока!
CentOS 4.3, kernel 2.6.9-34.EL, IceWM
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: \ -> /

Сообщение t.t »

(risk_2000 @ Mar 1 2006, в 01:30) писал(а):t.t - man прочитал пока не очень понял - ни ключей ни опций - завтра попробую....
Так там ничего сложного. Просто вместо, к примеру, mkdir dir1; mkdir dir1/dir2; mkdir dir1/dir2/dir3 можно сказать mkdirhier dir1/dir2/dir3
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: \ -> /

Сообщение madskull »

t.t писал(а):
01.03.2006 11:06
(risk_2000 @ Mar 1 2006, в 01:30) писал(а):t.t - man прочитал пока не очень понял - ни ключей ни опций - завтра попробую....
Так там ничего сложного. Просто вместо, к примеру, mkdir dir1; mkdir dir1/dir2; mkdir dir1/dir2/dir3 можно сказать mkdirhier dir1/dir2/dir3

странные вы, чем вам стандартный mkdir -p не угодил.
mkdirhier, например, у меня нет и я впервые о нем слышу.
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: \ -> /

Сообщение madskull »

А решение вот

Код: Выделить всё

for i in *; do mkdir -p "$(dirname "${i//\\//}")"; mv "$i" "${i//\\//}"; done
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: \ -> /

Сообщение t.t »

(madskull @ Mar 1 2006, в 11:15) писал(а):странные вы, чем вам стандартный mkdir -p не угодил.
Вот блин, забыл. И главное, ночью ж ман по mkdirhier глянул, а в нём прямым текстом об mkdir -p написано...

(madskull @ Mar 1 2006, в 11:15) писал(а):mkdirhier, например, у меня нет и я впервые о нем слышу.
Оно появилось на системах, где mkdir не имело опции p, а за каким фигом оно оказалось там, где присутствуют GNU coreutils, я и сам ума не приложу.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: \ -> /

Сообщение Angel_13th »

risk_2000
Странная русификация какято! Я скачал с сайта joomla.ru у меня все по стандартам POSIX.
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: \ -> /

Сообщение Jan2ary »

Я просто не понял сути вопроса, поэтому написал как заменить обратные слеши в файле на прямые.
Все просто, символы разделителей экранируются симовлом '\' ...
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали: