Warum findet GNU keine rekursive Arbeit unter Windows 7?

2604
Andrew

Ich habe die vollständige gnuwin32-Installation auf meiner Win7-Box. Von der Shell (cmd.exe) aus kann ich das ausführen

c:\gnuwin32\bin\find.exe . 

aus einem Verzeichnis und erhalten Sie eine Liste aller Dateien rekursiv. Ich versuche, alle Dateien zu finden, deren Dateinamen auf .rej. Ich würde erwarten, dass einer davon funktioniert:

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

aber der erste gibt mir nur ein Ergebnis (im Arbeitsverzeichnis), und der zweite gibt mir keine Ergebnisse. Im Gegensatz,

ls -R | grep rej$ 

gibt mir viele, viele Ergebnisse, die auf enden .rej. Was vermisse ich?

4
Wenn Sie keine anderen Kriterien haben, können Sie einfach von der Befehlszeile aus ausführen: dir * .rej / s / b jftuga vor 13 Jahren 2
@jftuga Danke - das werde ich mir merken. In diesem Fall muss ich etwas mit den Dateien anfangen, obwohl ich xargs immer noch in einer Inkarnation verwenden kann, da bin ich mir sicher. Andrew vor 13 Jahren 0

1 Antwort auf die Frage

1
Andrew

Ich habe nie eine gute Antwort in Bezug auf alles gefunden, was ich tun kann, damit gnuwin32 Arbeit findet, aber ich fand diese Antwort mit einem Workaround. Insbesondere die Verwendung der fast zehn Jahre alten find.exe von UnxUtils scheint zu funktionieren.

Cygwins Fund scheint auch gut zu funktionieren (zumindest bei meiner Win7 x64-Box). Brian Knoblauch vor 13 Jahren 0
Ich fand nützliche http://christianlong.blogspot.com.au/2011/01/ using-gnu-tools-for-find-and-replace-on.html Plutext vor 9 Jahren 0