trulala Опубликовано 16 марта, 2006 Жалоба Поделиться Опубликовано 16 марта, 2006 lyudi dobriye, nujno napisat bash skript, kotori bi zapuskal komandu dla failov s opredelonim rasshereniyen v dannoi direktorii. v moyom sluchaet eto komanda msgfmt s parametrom -o. koro4e u menya velikoye mnojestvo po failov kotoriye nujno perevesti v mo. nujen skript kotori v ukazanoi direktorii chital bi vse .po faili i dla kajdego zapuskal bi komandi msgfmt file.po -o file.mo, nazvaniye mo faila doljno bit toje chto i po. pomogte plz napisat script. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 16 марта, 2006 Жалоба Поделиться Опубликовано 16 марта, 2006 Как я понял, проблема состоит только в том, что результирующий файл получается с двойным расширением. Можно в исходном отсекать расширение при помощи cut. То есть алгоритм выглядит как для каждого из выбранных по маске { отделить имя от расширения преобразовать имя.расширение в имя.новое_расширение } Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
trulala Опубликовано 16 марта, 2006 Автор Жалоба Поделиться Опубликовано 16 марта, 2006 prichom tut dvoinoye rasshireniye? dopustim est fail kio_remote.po, nado zapuskat dla nego komandu: msgfmt kio_remote.po -o kio_remote.mo i poluchitsa binarni fail kio_remote.mo. no problema chto etim po failov u mena navalom, naverno shtuk 1000 ili bolshe. nado avtomatizirovat proces. algoritm mojet bit i takim: 1. vibrat fail po rasshireniyu (filtr) 2. ordelit imya ot rasshirebiya 3. zapustit komandu i v argument output file vpisat eto samoye otdelonoye imya +.mo nu i tak s kajdim failom po alfavitnomu poradku P.S. v programirovanii ya polni profan! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 16 марта, 2006 Жалоба Поделиться Опубликовано 16 марта, 2006 Trulala писал(а) Чтв, 16 Марта 2006 17:53 algoritm mojet bit i takim: 1. vibrat fail po rasshireniyu (filtr) 2. ordelit imya ot rasshirebiya 3. zapustit komandu i v argument output file vpisat eto samoye otdelonoye imya +.mo nu i tak s kajdim failom po alfavitnomu poradku Мда... Вы удивитесь, но я написал ___АБСОЛЮТНО___ то же самое Цитата: prichom tut dvoinoye rasshireniye? dopustim est fail kio_remote.po, nado zapuskat dla nego komandu: msgfmt kio_remote.po -o kio_remote.mo i poluchitsa binarni fail kio_remote.mo. no problema chto etim po failov u mena navalom, naverno shtuk 1000 ili bolshe. nado avtomatizirovat proces. P.S. v programirovanii ya polni profan! Причем тут программирование? Программы можешь не писать, но баш ты выучить обязан! Хотя бы основы системы выучить - без этого в Линухе трудно придется... for i in *.po; do msgfmt "$i" -o "$i.mo" done Вот тут мы и получаем двойное расширение. Для Вашего примера результирующий файл будет называться kio_remote.po.mo. Чтобы этого не происходило, мы cut'ом отрезаем имя и состыковываем его с новым расширением for i in *.po; do j=`cut .......` # man cut msgfmt "$i" -o "$j" done Полностью не привел, чтобы Вы не поленились хотя бы в ман заглянуть. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
trulala Опубликовано 16 марта, 2006 Автор Жалоба Поделиться Опубликовано 16 марта, 2006 for i in *.po; do msgfmt "$i" -o "${i%%po}mo"; done uje done Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 16 марта, 2006 Жалоба Поделиться Опубликовано 16 марта, 2006 Ну и зачем было голову морочить, если есть готовое решение? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
trulala Опубликовано 16 марта, 2006 Автор Жалоба Поделиться Опубликовано 16 марта, 2006 na drugom forume pomogli Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.