Программист-прагматик. Путь от подмастерья к мастеру

СодержаниеГлава 3 Походный набор инструментов 15 Игры с оболочками Утилиты оболочек и системы Windows → Часть 2

Глава 38

Часть 2

Найти все файлы типа *. с, модифицированные позже, чем ваш Makefile.

Командная строка:

find. -name *. с' – newer Makefile – print

Графический интерфейс:

Откройте Проводник Windows, перейдите в нужный каталог, щелкните по Makefile и отметьте для себя время модификации данного файла. Затем войдите в меню Tools, выберите пункт Find, и введите *. с в строку, указывающую параметры имени файла. Затем перейдите в поле даты, и введите дату, которую вы вначале отметили для Makefile. Затем нажмите ОК.

Создать архив типа zip/tar моего исходного текста.

Командная строка:

zip archive. zip *. h *. с     или

tar cvf archive. tar \h *. c

Графический интерфейс:

Запустите утилиту архивирования (например, условно-бесилатную программу WinZip [URL 41], выберите пункт Create New Archive, введите его имя, выберите исходный каталог в диалоге Add, задайте фильтр "*. с", щелкните по пункту «Add», задайте фильтр "*. h", щелкните по пункту «Add», затем закройте архив.

Какие файлы Java не были изменены за последнюю неделю?

Командная строка:

find. Name *. java' – mtime + 7 – print

Графический интерфейс:

Щелкните и переместитесь к пункту "Find files", щелкните по полю «Named» и введите в него "*. java", выберите пункт "Date Modified". Затем выберите пункт «Between». Затем щелкните по начальной дате и введите начальную дату начала проекта. Щелкните по конечной дате и введите дату, которая была неделю назад (убедитесь, что календарь находится под рукой). Затем щелкните по пункту "Find Now".

Какие из данных файлов используют библиотеки awt?

Командная строка:

find. -name *. java' – mtime +7 – print | xargs grep 'java. awt'

Графический интерфейс:

Загрузите каждый файл в списке из предыдущего примера в редактор и проведите поиск строки java. awt. Напишите имя каждого файла, содержащего совпадение.

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

Подсказка 21: Используйте сильные стороны командных оболочек

Освойте работу с оболочкой, и вы обнаружите, как выросла ваша производительность. Нужно создать перечень всех уникальных имен пакетов, которые явно импортируются вашей программой на языке Java? Приведенная ниже программа сохраняет этот перечень в файле под названием "list".

grep "import' *. java |

  sed -e's/. 'import //' – e's/;. $//' |

  sort -u list

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

Хотя командные оболочки, поставляемые с системами Windows постепенно улучшаются, утилиты командной строки Windows все еще уступают их двойникам в Unix. Однако все не так плохо.

Фирма Cygnus Solutions разработала пакет под названием Cygwin [URL 31]. Помимо обеспечения слоя совместимости Unix для Windows, Cygwin поставляется вместе с коллекцией более чем 120 утилит Unix, включая такие бестселлеры, как Is, grep и find. Утилиты и библиотеки могут загружаться и использоваться бесплатно, но обязательно прочтите их лицензию [18]. Программа Cygwin распространяется вместе с оболочкой Bash.

Навигация

[ Часть 2. Глава 38. ]

Закладки

Hosted by uCoz