У меня есть отличный Perl-скрипт, который я использую, чтобы распаковать / распаковать архив с файлом, а затем сопоставить более десятка файлов для интеллектуального устранения неполадок в системе NAS. Теперь люди хотят видеть версию для Windows = /
Я разбираюсь в Linux, новичок в Perl и совсем не знаком со сценариями для Windows.
Коряги я вижу , являются: (1) установить местоположение Perl (2) Я полагаюсь на выходе из grep
и find
(3) потенциальные коряги между версиями - XP, Vista, 7,2k3,2k8?.
Пока не повезло с Cygwin или Windows-версией find
. У меня ActivePerl установлен на Windows 7.
Мысли?
источник
Cygwin имеет
find
иgrep
.Если
find
вы получаете какое-то странное сообщение об ошибке, это означает, что вы запускаете другуюfind
команду.Попробуйте отредактировать свой,
PATH
чтобы поставить Cygwin's/bin
и/usr/bin
в начале, или запустить,find
используя абсолютный путь, например,/usr/bin/find
вместоfind
.Но да, другие правы, вы, безусловно, можете заменить
find
наFile::Find
иgrep
команду с помощьюgrep
функции Perl или операторов сопоставления регулярных выражений(например
$line =~ /pattern/
).ActivePerl, вероятно, в порядке, но Strawberry Perl, похоже, становится самым популярным вариантом в Windows, так что это еще один вариант, если по какой-то причине ActivePerl не работает.
источник
`find $PWD -name "foo"`
in perl ссылками на cygwin ... есть идеи?Cygwin, как правило, является самым простым решением проблемы такого типа. Какие проблемы у вас были с этим?
источник
find
встроенного. Это ограничивает его полезность в этом случае. Я либо хочу самый простой способ портировать или самый простой способ избежать портирования.find
не работает, попробуйте/usr/bin/find
.find
. Снова запустите установщик cygwin и убедитесь, что выбран пакет findutils (вы можете ввести егоfindutils
в поле поиска, чтобы легко найти его)Вы пробовали msys? Я git-пользователь, поэтому я почти все, что от msysgit, считаю частью моей ОС.
msys - http://www.mingw.org/wiki/msys
msysgit - http://code.google.com/p/msysgit/
источник