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 Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.