Mencoba menemukan file dengan pola tertentu dalam direktori dan subdirektori. Saya mencoba:
C:\test\workspace>dir *.*.r[0-9]* /s /b
File Not Found
dengan harapan menemukan file seperti
abc.txt.r12222
tjy.java.r9994
Di mana nomor ditambahkan setelah huruf r, dilakukan oleh SVN.
Apa yang saya lakukan salah?
Jawaban:
Saya baru saja menjawab ini di Stack Overflow beberapa hari yang lalu. /programming/15648679/find-text-string-or-part-of-text-with-dot-in-grepwin/15648872#15648872
Dalam kasus Anda akan terlihat seperti:
Memperbarui
* Dalam salah satu contoh lain ".r [0-9] * $" juga menemukan catatan yang berakhiran 'r' karena * kuantifier berarti 0 atau lebih.
sumber
Saran saya untuk Anda adalah melakukannya dengan
grep
- utilitas untuk sistem mirip UNIX yang telah porting ke Windows dan dapat mencocokkan garis menggunakan ekspresi reguler.grep
sudah termasuk dalam paket MSYS MinGW, penginstal dapat ditemukan di sini . (hanya instal MSYS)Maka Anda harus menambahkan alat MSYS ke variabel PATH Anda, direktori dafeult untuk MSYS
C:\MinGW\msys\1.0\bin
Akhirnya Anda dapat melakukan serach Anda dengan perintah ini:
... yang berarti: "mendapatkan output dari
ls -a
(file daftar termasuk file tersembunyi) dan menyebarkannya kegrep
, garis pertandingan yang terlihat seperti . .R [0-9] * (dengan setidaknya satu karakter dilambangkan oleh masing-masing tanda bintang)".sumber
$ ls -R | grep -H ^.*[0-9]$ (standard input):res.jar.r469621 (standard input):res.jar.r464460 (standard input):test.jar.r46521 (standard input):test.jar.r46970
c:\pager\test.jar.r46521
sebagai kebalikan dari (input standar): test.jar.r46521Anda dapat mencoba ini:
Untuk bantuan, ketik
findstr /?
.sumber
C:\Temp>findstr /S /B [0-9] . C:\Temp>findstr /S /B r[0-9]$ . C:\Temp>findstr /S /B $.*r[0-9]$ C:\Temp>findstr /S /B $.*r*$ C:\Temp>findstr /S /B $.*r..*$ C:\Temp>findstr /S /B $.*r\..*$ C:\Temp>findstr /S /B /R $.*r\..*$ C:\Temp>findstr /S /B /R "$.*\..r[0-9]*$ C:\Temp>findstr /S /B /R "$.*\..r[0-9]*$" C:\Temp>findstr /S /B /R "$.*\..r[0-9]*$" . C:\Temp>findstr /S /B /R "$.*\..r[0-9]$" . C:\Temp>findstr /S /B /R "$.*[0-9]*" . C:\Temp>findstr /S /B /R "$*[0-9]*" .
C:\Temp>dir /aa| findstr .r[0-9]*$
C:\Temp>dir /aa | findstr .r[0-9]*$ File Not Found
dir /aa| findstr .r[0-9]*$
. Itu bekerja di sini ...