Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

подсчет показателей по проекту

Чулан
Может пригодиться. Как просто подсчитать:

— кол-во строк кода
find project_folder -name *.php -exec cat {} \; | wc -l

-кол-во классов, функций, if-ов и т.д
find project_folder -name *.php -exec cat {} \; | grep class | wc -l

Прошелся по всем своим проектам. Интересное наблюдение, в схожих проектах кол-во if-ов падает, кол-во классов и функций растет.
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 202
Комментарии 7

Избавиться от ошибки в командной строке

Чулан
Добрый день уважаемые хабраобитатели и читатели. Уже несколько дней мучаюсь над автоматизацией процесса создания превьюшек из mp3.

Каждый день заливается в папку музыка, через определенное время идет проверка на наличие этой самой музыки в папке, если файлы существуют — они отправляются на порезку(mp3split), а затем в lame. Пока что используется обычная командная строка Windows. И вот незадача: после отправки файлов в lame, с печалью на глазах получаю

"lfnfor" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"lame.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.


файлы передаются вот так:
"lame -f file.mp3 file_resample.mp3"

Гугл мучал целый день. На некоторых форумах всплывала похожая проблема, про операторы lfnfor, choise, а решения нет нигде.

Известно, что lfnfor — недокументированная фича, может в SP3 она вообще перестала работать?

Осталась надежда только на Вас.
Спасибо.
Всего голосов 6: ↑3 и ↓3 0
Просмотры 1.4K
Комментарии 37

Информация о встроенных классах и функциях из командной строки

PHP *
Может быть, то, о чем я собираюсь рассказать, уже всем известно, а может, и нет.

В общем так: получить информацию о любом встроенном классе или функции (само собой, сюда входят и функции из любого включенного в вашей сборке расширения) — получить эту информацию можно с помощью простых команд.

php --rc, php --rf, php --re, php --ri
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 817
Комментарии 8

У кого какой PS1 в .bashrc и caption в .screenrc

Чулан
Пока Gui'шники спорят у кого круче настроен KDE/Gnome/Fvwm/Fluxbox, решил спросить у тех, кто большую часть времени работает в command line interface. Как разукрашиваете или делаете удобнее/веселее command promt и screen.
У меня export PS1="\[\e[31;1m\]\u@\[\e[32;1m\]\h \e[33;1m\]# \e[33;0m\]" в .bashrc и
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %{wk} %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}" в .screenrc

Виглядит так:

image
Всего голосов 24: ↑18 и ↓6 +12
Просмотры 852
Комментарии 25

Простой консольный прогрессбар на питоне

Python *
В связи с некоторыми вычислениями на питоне (например, подсчётом коэффициента симметрии карты реликтового излучения) мне захотелось сделать процесс более наглядным. Ну хотя бы добавить прогресс-бар. Скучно, знаете ли, сидеть перед пустой консолью и втыкать на запущенную команду. То ли работает, то ли висит… с ходу не понять. А делать какой-нибудь лог исполнения не хочется, так как потом в полученом хаосе глаз теряется.
Недавно нашёл выход: модуль progressbar.
Всего голосов 67: ↑63 и ↓4 +59
Просмотры 29K
Комментарии 30

Hosts Commander — модификация hosts из командной строки

Разработка веб-сайтов *C# *
Я хотел бы посвятить немного времени файлу hosts. Года два назад, когда я в очередной раз забирался в глубину системных директорий, чтобы подправить всего одну строчку в этом файле, мне подумалось, как было бы классно работать с hosts из командной строки. Тогда идея отправилась в дневничок, и долгое время оставалась нетронутой. Пару дней назад я реализовал почти все идеи, которые пришли в голову по этому поводу. Результатом делюсь с хабрасообществом. Буду рад, если кому-нибудь пригодится.

Что получилось?


А получилась небольшая программа hosts.exe, которую кратко можно охарактеризовать так:
  • Операции добавления, удаления и отключения хостов
  • Поддерживает операции над хостами по маске
  • Простые выборки из hosts по атрибутам и маске
  • Создание резервных копий hosts и откат последней операции
  • Поддержка IDN (можно создавать русскоязычные домены)
  • Поддержка IPv6 адресов
  • Поддержка алиасов (несколько доменных имён в строке)
  • Сохраняет исходное оформление и кодировку файла hosts
  • Большое количество алиасов для каждой команды (кому как удобнее)
Читать дальше →
Всего голосов 81: ↑69 и ↓12 +57
Просмотры 21K
Комментарии 163

Автоматическое генерирование APK с различными данными из командной строки с помощью Ant

Разработка под Android *
Недавно столкнулся с проблемой — нужно было на удаленном сервере генерировать apk файл для загрузки, причем в зависимости от передаваемого адреса сервера программа должна была по умолчанию при установке соединяться с различными серверами.

Итак задача — дать пользователю возможность загрузить из интернета динамически генерируемое Андроид приложение которые буду вести себя по разному в зависимости от переданных параметров (в данном случае разные сервера загрузки данных).

Подробности
Всего голосов 35: ↑31 и ↓4 +27
Просмотры 5.5K
Комментарии 2

Hosts Commander — консольный редактор hosts для Windows и Linux

Разработка веб-сайтов *Mono и Moonlight *C# *
Hosts Commander призван максимально облегчить работу с файлом hosts из консоли. Если вам время от времени приходится забираться в этот файл (что характерно для веб-разработчика), и вы любите консоль — Hosts Commander может прийтись вам по душе.
Год назад на Хабрахабре была анонсирована первая версия программы, которая работала только под Windows. Но с тех пор многое изменилось и стало лучше. Это отличный пример, как из простой идеи может вырасти нечто большее.
Читать дальше →
Всего голосов 42: ↑23 и ↓19 +4
Просмотры 6.2K
Комментарии 39

CodeIgniter Command Line library — небольшой ассистент для работы с CLI

PHP *CodeIgniter *
Как вы наверное знаете, в php есть интересная функция для обработки данных, поступающих из командной строки: getopt. Но есть одна маленькая проблема — она неправильно работает в CodeIgniter, да и не совсем удобная.

А так как у меня было немного свободного времени, желание написать что-нибудь своё опен сорсное, попробовать в деле github (сижу на hg+bitbucket), и наконец сделать что-то полезное для тухнущего CodeIgniter и его сообщества, я решил написать свой костыль, призванный немного скрасить написание cli скриптов на данном фреймворке.
Оно умеет самый минимум — искать заданные аргументы, производить их валидацию (если не указаны обязательные) и выводить подсказки по использованию вашего скрипта, а при желании легко может быть допилено для использования без привязки к CodeIgniter:


Заинтересовавшимся добро пожаловать под кат!
Всего голосов 6: ↑3 и ↓3 0
Просмотры 2.9K
Комментарии 8

look-at — менеджер фокуса

Ненормальное программирование *Python *

Что такое look-at?


Это утилита, которая переключает фокус между окнами приложений из командной строки.

Зачем?


При работе с большим количеством открытых окон часто возникает проблема с тем, чтобы быстро переключиться в окно нужного приложения. Можно, конечно, применять сочетание клавиш Alt+Tab, но Ктулху вызвать проще. Гораздо удобнее использовать шоткаты. Например, Super+1 — и вы уже работаете с терминалом, Super+2 — и перед вами Firefox. Предлагаю вашему вниманию утилиту look-at, которая даёт возможность делать это (фанаты Unity — молчать!) практически в любом десктопе, где есть X.Org.
Читать дальше →
Всего голосов 39: ↑32 и ↓7 +25
Просмотры 2.6K
Комментарии 31

Grunt, инструмент для сборки javascript проектов

Разработка веб-сайтов *JavaScript *Node.JS *
Перевод
Grunt — это инструмент для сборки javascript проектов из командной строки с использованием задач. Релиз вышел совсем недавно, автор Ben «Cowboy» Alman, проект есть на github. В этой статье я рассмотрю основы Grunt, его установку и использование.
Читать дальше →
Всего голосов 35: ↑32 и ↓3 +29
Просмотры 129K
Комментарии 15

Консольные команды на PHP

Разработка веб-сайтов *PHP *Symfony *
У многих, равно как и у меня, периодически возникает потребность в реализации каких-то небольших задач. Например распарсить сайт/API и сохранить данные в xml/json/csv, произвести какие-либо расчеты/пересчеты, перегнать данные из одного формата в другой, собрать статистику и т.д. и т.п. Замечу, что речь о задачах не связанных с текущими проектами.



Собирать тяжелый фреймворк ради удобных фич, лень, а реализовывать в рамках кода текущих проектов как-то не эстетично. Поэтому для экономии своего времени приходится создавать скрипт, копипастить в него куски кода из предыдущих наработок, подключать разнообразные библиотеки и запускать скрипт из консоли. При этом часто требуется некоторая интерактивность работы скрипта: обработка опций/аргументов, а то и диалоговое взаимодействие. Здесь главное чтобы не было настроения, которое хорошо описывается выражением «Аппетит приходит во время еды», тогда вообще не понятно к чему приведет работа над простой задачкой =)

В такие моменты я вспоминал удобную симфоническую консоль, к которой успел привыкнуть работая с проектами на
Symfony 2. Не в обиду другим консолям (zend, yii, django, ror etc), все хороши, просто так сложилось.

Когда в очередной раз потребовалось что-то распарсить, я опять вспомнил про консоль Symfony (Console Component) и тот факт, что это независимый компонент все больше подтолкнул меня к мысли использовать ее возможности.

За пару часов получилась простая тулза, в основе которой:

и менеджер зависимостей Composer, который нам поможет все это быстро собрать, добавлять новые либы, а также возьмет на себя автозагрузку классов.
Написать команду
Всего голосов 53: ↑40 и ↓13 +27
Просмотры 33K
Комментарии 30

Краткое введение в boost::program_options

C++ *
Tutorial
Занимаясь разработкой алгоритмов, постоянно одергиваю себя, а вдруг изменения, которые работают на небольшом примере, привнесут разброд и шатание в результаты на других, больших данных. Тогда мне на помощь приходит командная строка. Самое ужасное, что каждый раз реализовывать парсер аргументов уже надоело, а значит, не последним средством для C++ программиста оказывается пакет program_options из библиотеки boost.
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры 34K
Комментарии 22

Cline и создание интерактивного приложения командной строки

JavaScript *Node.JS *
Из песочницы
Независимо от того насколько большая ваша любовь к командной строке, согласитесь, что простой и удобный интерфейс консоли, поддержка истории, авто дополнение, простые команды весьма впечатляют. Не вдаваясь в дисскусию о преимуществах и недостатках «темноты», хочу представить на суд Хабра-сообщества свою маленькую поделку из мира Node.js, главной задачей которой является улучшение жизни разработчика, который решился написать консольную утилиту.

Cline — обзор


Cline это маленькая библиотека базирована на нодовском readline модуле, таким образом у нас есть поддержка истории, авто дополнение, опрашивание пользователя и, с моей легкой руки, дополнения в виде маски на ввод пароля, возможности слушать ввод пользователя в виде отдельных команд описанных, как простые или регулярные выражения, вывода справки, упрощенной работы с историей, интерактивного режима.

Со всем этим создание приложения, которое после запуска буде ждать ввода команд от пользователя упрощается в разы.
Если вам интересно, прошу под кат
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 4.5K
Комментарии 3

Ещё одно консольное радио

Разработка веб-сайтов *Open source *.NET *
cmdradio


Недавно на хабре проскакивала статья о cmd.fm — консольном интернет радио плеере в браузере, что навело меня на мысль: почему бы не сделать реально консольный радио плеер?
Потому что их уже делали сто раз
Всего голосов 44: ↑39 и ↓5 +34
Просмотры 23K
Комментарии 51

Command line interpreter на микроконтроллере своими руками

Программирование микроконтроллеров *
В каждом разрабатываемом устройстве у меня присутствовал отладочный вывод в UART, как в самый распространённый и простой интерфейс.
И каждый раз, рано или поздно, мне хотелось помимо пассивного вывода сделать ввод команд через тот же UART. Обычно это происходило когда мне хотелось для отладки выводить какой-нибудь очень большой объём информации по запросу (например состояние NANDFLASH, при разработке собственной файловой системы). А иногда хотелось программно управлять ножками GPIO, чтобы отрепетировать работу с какой-нибудь переферией на плате.
Так или иначе мне был необходим CLI, который позволяет обрабатывать разные команды. Если кто-то натыкался на уже готовый инструмент для этих целей — буду благодарен за ссылку в комментариях. А пока я написал собствыенный.
Читать дальше →
Всего голосов 19: ↑13 и ↓6 +7
Просмотры 15K
Комментарии 35

Ставим Drupal 7.x + модули + локализацию за несколько минут

CMS *Drupal *
Из песочницы
Добрый день!
За последнее время всё чаще и чаще выбор платформы под проекты клиентов падает на всеми любимый Drupal 7. В связи с этим приходится чуть-ли не каждый день повторять одну и туже серию операций подготовки «почвы» под будущий сайт:
1) Загрузка Drupal 7.x на сервер по FTP
2) Созданием базы данных
3) Установка Drupal через www.domain.ru/install.php
4) Установка всех необходимых модулей по их URL
5) Добавление русского языка и обновление всех переводов

Всё это отнимает значительное количество времени и в итоге было решено упростить данный процесс посредством установки Drupal полностью через командную строку.
Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 23K
Комментарии 14

Событийная модель построения проектов и решений Visual Studio для разработчиков

.NET *C++ *Visual Studio *API *C# *
Из песочницы
Эта небольшая статья поможет:

  • Ознакомиться с событийной моделью построения проектов и решений MS Visual Studio;
  • Понять, как получить поддержку Command-Line режима devenv.exe для VSPackage (где он изначально не предусмотрен);
  • Понять, как эмулировать схожую модель событий от MSBuild Tools и транслировать на главный плагин;
  • Узнать, как работать по приоритетной подписке;
  • Узнать варианты получения контекста построения при обработке событий Visual Studio / MSBuild Tools;
  • Узнать об оценке MSBuild Property & MSBuild Property Functions;
  • Получить общие сведения межмодульного взаимодействия на слое абстракции для разнородных компонентов системы.

Синопсис


Мне довольно часто приходиться заниматься автоматизацией тех или иных процессов, поэтому не мудрено, что часть решений рано или поздно коснулись и Visual Studio.

На самом деле, эта статья, или даже заметка — результат рабочего и уже давно написанного плагина, который еще года 2 назад являлся лишь побочным продуктом при работе над одним проектом на C++. Однако мой дебют на Хабрахабре будет, пожалуй, с этого.
Читать дальше →
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 14K
Комментарии 31

Избавляемся от «исторических причин» в cmd.exe более лёгким и стандартным способом

Оболочки *
Из песочницы
Всем привет! Сегодня я хочу поделится с вами более лёгким и правильным, с моей точки зрения, способом достижения аналогичного описанному в статье пользователя NikitaTrophimov результата.
Думаю, нет смысла повторно писать вводную часть — автор оригинальной статьи это сделал до меня — и, так как моя статья вряд ли увидела бы свет, не напиши он свою, и является всего лишь альтернативным видением способа решения задачи, то я сосредоточусь на главном.

Как и автору оригинальной статьи, мне представлялось весьма странным поведение команды «cd» (или «chdir») в cmd.exe. Казалось нелогичным, что для смены активного диска необходимо каждый раз выполнять дополнительные действия. Являясь поклонником интерфейса командной строки, я не раз пробовал улучшать внешний вид и возможности стандартного командного интерпретатора Microsoft Windows, но о возможности изменить стандартное поведение команды «cd» раньше даже не задумывался. После прочтения вышеупомянутой статьи на Хабре мне не давало покоя ощущение чрезмерной нестандартности и сложности описанного способа… а желание создать свой собственный велосипед и поскорее уже начать им пользоваться привело к кучке паре-тройке часов потраченного в ближайший выходной времени на разбор полётов. Итак, кому интересны мои изыскания — добро пожаловать под кат!
Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Просмотры 18K
Комментарии 14

Пишем и собираем приложения для Android в linux консоли

Разработка под Android *
Из песочницы
Tutorial

image


В данной статье я покажу как можно собрать apk файл в Ubuntu используя лишь
утилиты командной строки.


Обычно для создания приложений для Adroid используется Android Studio. Но для сборки небольших программ можно обойтись командной строкой. Например, когда ресурсы компьютера ограничены и ваше приложение очень простое.


В качестве постоянной среды разработки это, возможно, не очень удобно, но если вам нужно
иногда собирать какие-нибудь мелкие утилиты — это в самый раз.

Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Просмотры 27K
Комментарии 18
1