Порт Gnuwin32 найти?

Есть ли проблема с портом «найти» Gnuwin32? Это работает в моей командной строке Windows XP, но я получаю пустые взгляды, когда пытаюсь использовать функцию сопоставления имен файлов. Это из пакета findutils-4.2.20. Пришлось переименовать в «gfind.exe», чтобы Windows не путала с «find» CMD.EXE.
Некоторые примеры из моей консоли Windows:

C:\PROGRA~1\GnuWin32\doc\findutils\4.2.20\findutils-4.2.20>gfind .  
.  
./find.chm  
./find.dvi.gz  
./find.GID  
./find.hlp  
./find.html  
./find.pdf  
./find.ps.gz    

Это работает.
Опять же, работает следующее:

C:\PROGRA~1\GnuWin32\doc\findutils\4.2.20\findutils-4.2.20>gfind . -ls  
1970324837321105    0 drw-rw-rw-   2 cjohns89 0               0 Jun  11:34 .  
1688849860610677  128 -rw-rw-rw-   1 cjohns89 0          130729 Mar   2005 ./fin
d.chm  
1688849860610679   76 -rw-rw-rw-   1 cjohns89 0           74301 Mar   2005 ./fin
d.dvi.gz  
21673573207016133   20 -rw-rw-rw-   1 cjohns89 0           16826 Jun  21:05 ./fi
nd.GID  
1688849860610681  152 -rw-rw-rw-   1 cjohns89 0          154036 Mar   2005 ./fin
d.hlp  
1688849860610683  224 -rw-rw-rw-   1 cjohns89 0          226750 Mar   2005 ./fin
d.html  
1688849860610684  372 -rw-rw-rw-   1 cjohns89 0          379300 Mar   2005 ./fin
d.pdf  
1688849860610685  200 -rw-rw-rw-   1 cjohns89 0          201163 Mar   2005 ./fin
d.ps.gz  

Но это не делает приседания.

C:\PROGRA~1\GnuWin32\doc\findutils\4.2.20\findutils-4.2.20>gfind . -iname '*.pdf
' -ls  

Он просто возвращается к подсказке. Я (новичок) просто ошибся в использовании синтаксиса или это ошибка?


person Chuck Johnson    schedule 07.06.2010    source источник


Ответы (3)


Чак писал:

gfind . -iname '*.pdf ' -ls

Лучше без апострофа, так как командная строка Windows XP является MS-DOS.

Например:

gfind . -iname *.pdf  -ls
person Antonio    schedule 17.06.2010

Немного многословно, но эта ссылка описывает проблему. Короткий ответ заключается в том, что только двойные кавычки фактически выполняют цитирование в Windows cmd.exe или command.exe.

Кроме того, имейте в виду, что Windows сначала расширяет *.pdf в локальном каталоге — см. Gnuwin32 find.exe расширяет подстановочный знак перед выполнением поиска .

person user117529    schedule 15.04.2011

Я думаю, что ключ к вашей проблеме объясняется здесь https://stackoverflow.com/a/3996353/8543838

Не отвечает на ваш вопрос, но в прошлом у меня тоже было несколько проблем с поиском GnuWin32, и я просто хотел сообщить вам, что есть альтернатива, часть ezwinports (еще один порт инструментов gnu). Я также, кажется, помню, что поиск ezwinports был намного быстрее, чем поиск GnuWin32.

Кроме того, моя уловка, позволяющая избежать переименования инструментов Gnu, которые совпадают со встроенными функциями CMD (такими как mkdir, echo и find), заключается в использовании, например, «what find» в сценарии. Тогда вы знаете, что используете gnu find и ничего трогать не нужно.

person DaveC    schedule 19.12.2020