Почему GNU не может найти работу рекурсивно в Windows 7?

2495
Andrew

У меня есть полная установка gnuwin32 на моей коробке Win7. Из оболочки (cmd.exe) я могу выполнить

c:\gnuwin32\bin\find.exe . 

из каталога и получить список всех файлов рекурсивно. Я пытаюсь найти все файлы с именами, заканчивающимися на .rej. Я ожидаю, что один из них будет работать:

c:\gnuwin32\bin\find.exe . -name "*.rej" c:\gnuwin32\bin\find.exe . -name '*.rej' 

но первый только дает мне один результат (в рабочем каталоге), а второй не дает мне никаких результатов. По сравнению,

ls -R | grep rej$ 

дает мне много, много результатов, заканчивающихся на .rej. Что мне не хватает?

4
Если у вас нет других критериев, вы можете просто запустить из командной строки: dir * .rej / s / b jftuga 12 лет назад 2
@jftuga Спасибо - я учту это. В этом случае мне нужно что-то делать с файлами, хотя я могу использовать xargs в некотором воплощении, я уверен. Andrew 12 лет назад 0

1 ответ на вопрос

1
Andrew

Я никогда не находил хорошего ответа относительно всего, что я могу сделать, чтобы gnuwin32 нашел работу, но я нашел этот ответ с обходным путем. В частности, с помощью почти-десятилетней давности FIND.EXE от UnxUtils, кажется, работает.

Найти Cygwin также, кажется, работает очень хорошо (по крайней мере, на моей коробке Win7 x64). Brian Knoblauch 12 лет назад 0
Я нашел полезным http://christianlong.blogspot.com.au/2011/01/using-gnu-tools-for-find-and-replace-on.html Plutext 8 лет назад 0