- *Python *programmingГоспода, фанаты пейтона, шелла и прочего юникс-вея, давайте вы скинете решение следующей задачи на любимом вами языке.
Скрипт запускается из текущей директории, рекурсивно обходит поддиректории и для каждой поддиректории, если там есть файл, удовлетворяющий маске _uk_UA.ts, он выполняет команду lupc _uk_UA.ts (lupc — ваще-та алиас из ~/.zshrc), а если lupc провалится, то lupnuc *_uk_UA.ts
Replies (107)
- @0xd34df00d:@werehuman А как последняя часть — если lupc фейлит, вызывать lupnuc?
- @part1zano:find . -type f -and -name *_uk_UA.ts -exec lupc {} || lupnuc {} \;from wrk174178DE, 10 months ago
- @part1zano:@part1zano *typical @part1zano, между прочим %)
- @K900:@0xd34df00d for file in $(find . -type а -and -name *_uk_UA.ts) ...
- @0xd34df00d:@part1zano Найс, я бы тоже что-то такое написал, но... pastebin.comfrom idead, 10 months ago, in reply to /5
- @richapple:лол, в этом треде дедфуде пытается всем доказать, что си++ рулит и педалитfrom web, 10 months ago
- @0xd34df00d:@richapple Я в этом треде не видел еще ни одного решения на питоне, это главное и just as planned )from idead, 10 months ago, in reply to /16
- @mva:как-то так (можно усовершенствовать, но мне впадлу, предлагаю следующему постеру этим заняться):
#!/usr/bin/env zsh
find . -type f -name '*_uk_UA.ts' > /tmp/translations;
for TR in $(cat /tmp/translations); do lupc "{$TR}" || lupnuc "${TR}"; done;from desktop, 10 months ago - @0xd34df00d:@part1zano А я промазал чтоле, % find . -type f -and -name '*_uk_UA.ts' -exec lupc '{}' || lupnuc '{}' \;
find: отсутствует аргумент у `-exec'
lupdate error: File '{}' has no recognized extension.from idead, 10 months ago, in reply to /20 - @0xd34df00d:@K900 Мне кто-то долго втирал в свое время, что пейтон — самое оно для таких целей. Буду потом тыкать этим пстом )from idead, 10 months ago, in reply to /21
- @mva:@0xd34df00d я как-то так хотел по началу, но с екзеком долго ебаться надоfrom desktop, 10 months ago, in reply to /23
- @mva:как-то так (можно усовершенствовать, но мне впадлу, предлагаю следующему постеру этим заняться):
#!/usr/bin/env zsh
find . -type f -name '*_uk_UA.ts' > /tmp/translations;
for TR in $(cat /tmp/translations); do lupc "{$TR}" || lupnuc "${TR}"; done;
rm /tmp/translations;from desktop, 10 months ago - @part1zano:@part1zano Ну или через for, тоже пр-вославноfrom wrk174178DE, 10 months ago, in reply to /26
- @0xd34df00d:@werehuman Неа, не подхватывает алиасы, даже если zsh пускать.from idead, 10 months ago, in reply to /8
- @nebeda:@0xd34df00d вообще тяжёлые алиасы лучше заменить на /usr/local/bin скрипты именно для таких случаевfrom nyaserver, 10 months ago, in reply to /37
- @0xd34df00d:@nebeda 19:03:55 d34df00d idead ~/Programming/leechcraft/src % alias lupc
lupc='lupdate -noobsolete .cpp .h *.ui -ts'
19:04:27 d34df00d idead ~/Programming/leechcraft/src % alias lupnuc
lupnuc='lupdate -noobsolete .cpp .h -ts'
Што тут тяжелого.from idead, 10 months ago, in reply to /41 - @K900:@werehuman сам знаю. но мне проще $() чем %эта_ебучая_кавычка%x2from Psi+, 10 months ago, in reply to /47
- @0xd34df00d:@K900 А, кстати, хрентам. Нужно запускать lupc/lupnuc из директории с файлом.from idead, 10 months ago, in reply to /43
- @0xd34df00d:@mva Пиздец получится. cd $(basename $file); blah; cd $SOME_SAVED_PWDfrom idead, 10 months ago, in reply to /54
- @K900:@0xd34df00d зачем? find вроде как сначала выведет, потом обработкаfrom Psi+, 10 months ago, in reply to /56
- @0xd34df00d:@K900 Чтобы шелл правильно раскрыл .cpp/.h внутри алиаса.from idead, 10 months ago, in reply to /58
- @mva:@0xd34df00d а почему бы, блджад, просто не юзать .pro >_<from desktop, 10 months ago, in reply to /63
- @K900:@0xd34df00d я имею в виду. зачем cd $_SOME_SAVED_PWD. Сначала find выводит список, он сохраняется в памяти, и уже в неизменном виде обходится. basename дает полный путь к файлу, т.е. из cd /home/1/2/3 можно сразу попасть в cd /home/1/4/6from Psi+, 10 months ago, in reply to /63
- @0xd34df00d:@mva Потому что юзать .pro тупо ради переводов — костылизм пиздец.from idead, 10 months ago, in reply to /64
- @K900:@0xd34df00d странная логика. Костылизм это чинить шелл щасьfrom Psi+, 10 months ago, in reply to /68
- @0xd34df00d:@K900 Я юзаю cmake для сборки проекта. Товарищ предлагает юзать qmake, потому что так lupdate будет автоматически подсасывать список файлов для перевода, и .cpp/.h не нужно будет.from idead, 10 months ago, in reply to /71
- @mva:@0xd34df00d костылизм — не юзать в угоду хомячкам родное кутешное приспособление, облегчающее жизнь.from desktop, 10 months ago, in reply to /70
- @0xd34df00d:@mva > в угоду хомячкам
Што? Где? Я на симейк перешел, потому что он тупо удобнее. Сделай мне на qmake FindBoost или FindLibtorrent какой-нибудь.from idead, 10 months ago, in reply to /74 - @mva:@0xd34df00d открою секрет. цмейк можно юзать даже имея .profrom desktop, 10 months ago, in reply to /73
- @mva:@0xd34df00d ДА НАХУЙ ТЕБЕ КУМЕЙК КРОМЕ КАК ДЛЯ ГЕНЕРАЦИИ ПРОЕКТА-ТО?from desktop, 10 months ago, in reply to /77
- @0xd34df00d:@mva У меня и так достаточно геморроя, чтобы еще следить за их совместимостью. А потом еще какой-нибудь долбоеб увидит родной .pro и попытается им собрать.from idead, 10 months ago, in reply to /78
- @0xd34df00d:from idead, 10 months ago, in reply to /75
- @mva:@0xd34df00d зачем следить совместимостью? если долбоеб попробует собрать кумейком — это его проблемы.from desktop, 10 months ago, in reply to /80
- @K900:@0xd34df00d зачем юзать чистый cmake если можно юзать cmake+qmakefrom Psi+, 10 months ago, in reply to /81
- @0xd34df00d:@mva Чтобы хотя бы там файлы одни и те же упомянуты были более-менее.from idead, 10 months ago, in reply to /82
- @mva:@0xd34df00d не, дедфуде, ты так и не ответил на вопрос, чем лично тебе .pro мешает при сборке цмейком?from desktop, 10 months ago, in reply to /87
- @0xd34df00d:@mva Никак не мешает. Просто я стараюсь, чтобы в репозе было как можно чище и как можно меньше левых файлов.from idead, 10 months ago, in reply to /88
- @mva:@0xd34df00d .pro не левые файлы, а полезные. И, блджад, юзай мой скрипт же ж!from desktop, 10 months ago, in reply to /89
- @0xd34df00d:@mva Зойчем твой? ) Там вон ваще всего одна команда :3from idead, 10 months ago, in reply to /90