Apakah mungkin untuk mengganti regex dari baris perintah? Saat ini saya menggunakan notepad ++ untuk melakukan ini. Pada baris perintah saya hanya dapat menggunakan FINDSTR yang hanya dapat menemukan file / baris yang telah diedit.
EDIT:
Mungkin akan dimungkinkan untuk membuat skrip VB dan menjalankannya dari cmd? Saya baru saja membuat file "hi.vbs" dengan kontennya
Msgbox "Hi Buddy"
Kemudian cmd memungkinkan saya untuk menjalankannya secara langsung dengan mengetikkan "hai" dari baris perintah.
Jadi jika tidak mungkin dengan skrip batch, maka saya dapat menggunakan skrip VB melalui batch. Atau..?
Jawaban:
buka di sini
http://gnuwin32.sourceforge.net/packages.html
gulir ke bawah ke SED. Unduh coreutils juga saat Anda menggunakannya.
perintah ini akan menggantikan a dengan b secara global, dan pada setiap baris. jadi bukan hanya kejadian pertama di telepon.
mis. menggunakan sed "s / a / b / g" a.txt
VBScript memang mendukung ekspresi reguler, Anda dapat menemukan dan menggantinya.
Menampilkan bxxx dxxx xxx
sumber
Saya telah menulis alat baris perintah gratis untuk Windows untuk melakukan ini. Ini disebut rxrepl , mendukung Unicode dan pencarian file. Beberapa mungkin menemukan itu alat yang berguna.
sumber
C:\WINDOWS\System32\cmd.exe
The Scripting Guy mencakup cara melakukan ini di PowerShell (tidak ada unduhan tambahan pada OS Windows terbaru, Anda mungkin sudah menginstalnya).
Mulai, jalankan yang berikut (untuk mengganti
*
dengan a@
):Ini mendukung .NET regular expressions , termasuk pandangan positif dan negatif, dan segala hal yang notepad ++ tidak mendukung dengan regex sebelum versi 6.x (sebanyak yang saya suka notepad ++).
sumber
Saya telah menemukan fnr.exe untuk itu. Ini memiliki GUI dan baris perintah.
Melihat opsi baris perintah
sumber
Sepertinya Anda dapat menggunakan regex dengan FINDSTR
findstr [Windows CMD] :
Dari Bantuan FindStr (
Findstr /?
):sumber
findstr
tidak dapat mengganti teks dalam file!Saya sedikit terlambat ke pesta, tetapi JREPL.BAT adalah utilitas regex berbasis skrip JScript / batch hybrid yang berjalan secara native pada mesin Windows mulai XP dan seterusnya.
Dokumentasi lengkap dibangun ke dalam skrip, yang dapat diakses melalui
JREPL /?
, atau digunakanJREPL /??
untuk output halaman.JREPL menggunakan regex ECMA standar yang datang dengan JScript. Regex ECMA tidak sekuat regex .NET yang tersedia untuk PowerShell, tetapi masih sangat bagus. Dan saya pikir rata-rata pengguna akan menemukan utilitas ini lebih mudah digunakan daripada PowerShell.
Opsi JREPL bawaan sudah menyediakan banyak daya yang melekat, tetapi kemampuan untuk menyuntikkan JScript yang disediakan pengguna benar-benar membuka kemungkinan luar biasa.
Saya mengembangkan skrip karena tempat kerja saya tidak mengizinkan pengunduhan file exe non-standar, tetapi tidak memiliki batasan pada penulisan batch atau skrip JScript :-)
Cukup ikuti tautan dan salin kode skrip ke file bernama JREPL.BAT. Baca posting selanjutnya dari utas itu untuk contoh penggunaan dan riwayat pengembangan. Ada juga banyak jawaban StackOverflow yang menggunakan JREPL.BAT.
sumber
Dua pilihan bagus adalah Cygwin yang akan memberi Anda lingkungan mirip-Unix, mirip-bash (alternatif dari cmd.exe); dan Unxutils , Win32 port dari kumpulan utilitas Unix individual. Di kedua paket, lihat 'sed', 'awk', dan 'grep'.
sumber
Anda juga dapat menggunakan GSAR untuk melakukan pencarian dan penggantian baris perintah. Bekerja dengan hex dan binary juga. Ini tidak akan melakukan pengangkatan berat kompleks yang dapat dilakukan regex, tetapi untuk pencarian dasar dan penggantian, ia melakukan pekerjaan dengan cepat dan mudah.
sumber