Czy można regex zastąpić z wiersza poleceń? Teraz używam do tego notatnika ++. W wierszu poleceń mogę używać tylko FINDSTR, który może tylko zlokalizować mached pliki / linie
EDYCJA:
Może uda się stworzyć skrypt VB i uruchomić go z cmd? Właśnie utworzyłem plik „hi.vbs” z zawartością
Msgbox "Hi Buddy"
Następnie cmd pozwala mi uruchomić go bezpośrednio, wpisując „hi” z wiersza poleceń.
Więc jeśli nie jest to możliwe ze skryptem wsadowym, mogę użyć skryptu wsadowego. Lub..?
Odpowiedzi:
przejdź tutaj
http://gnuwin32.sourceforge.net/packages.html
przewiń w dół do SED. Pobierz także coreutils, gdy jesteś przy tym.
to polecenie zastąpi globalnie literę b, aw każdej linii. więc nie tylko pierwsze wystąpienie na linii.
np. używając sed "s / a / b / g" a.txt
VBScript obsługuje wyrażenia regularne, możesz je znaleźć i zastąpić nim.
Wyświetla bxxx dxxx xxx
źródło
W tym celu napisałem bezpłatne narzędzie wiersza poleceń dla systemu Windows. Nazywa się rxrepl , obsługuje Unicode i wyszukiwanie plików. Niektórzy mogą uznać to za przydatne narzędzie.
źródło
C:\WINDOWS\System32\cmd.exe
Skrypciarz opisuje, jak to zrobić w programie PowerShell (bez dodatkowych pobrań w najnowszych systemach operacyjnych Windows, prawdopodobnie już go masz).
Uruchom go, uruchom następujące polecenie (aby zamienić na
*
a@
):Obsługuje wyrażenia regularne .NET , w tym pozytywne i negatywne spojrzenie w przyszłość, i wszystkie rzeczy, które notepad ++ nie obsługiwały wyrażenia regularnego przed wersją 6.x (o ile uwielbiam notepad ++).
źródło
Znalazłem do tego fnr.exe . Ma GUI i wiersz poleceń.
Wyświetlanie opcji wiersza poleceń
źródło
Wygląda na to, że możesz użyć wyrażenia regularnego z FINDSTR
findstr [Windows CMD] :
Z pomocy FindStr (
Findstr /?
):źródło
findstr
nie można zamienić tekstu w plikach!Jestem trochę spóźniony na imprezę, ale JREPL.BAT to hybrydowe narzędzie regex oparte na JScript / batch, które działa natywnie na dowolnym komputerze z systemem Windows od XP.
Pełna dokumentacja jest wbudowana w skrypt, do którego można uzyskać dostęp za pośrednictwem stronicowanych danych wyjściowych
JREPL /?
lub użyć ichJREPL /??
.JREPL używa standardowego wyrażenia regularnego ECMA dostarczanego z JScript. Wyrażenie regularne ECMA nie jest tak potężne, jak wyrażenie regularne .NET dostępne dla PowerShell, ale nadal jest całkiem dobre. I myślę, że przeciętny użytkownik uzna to narzędzie za łatwiejsze w użyciu niż PowerShell.
Wbudowane opcje JREPL zapewniają już wiele wbudowanej mocy, ale możliwość wstrzyknięcia dostarczonego przez użytkownika języka JScript naprawdę otwiera niesamowite możliwości.
Opracowałem skrypt, ponieważ moje miejsce pracy nie pozwala na pobieranie niestandardowych plików exe, ale nie ma ograniczeń w pisaniu skryptów wsadowych lub JScript :-)
Po prostu skorzystaj z linku i skopiuj kod skryptu do pliku o nazwie JREPL.BAT. Przeczytaj kolejne posty z tego wątku, aby zapoznać się z przykładami historii użytkowania i programowania. Istnieje również wiele odpowiedzi StackOverflow, które używają JREPL.BAT.
źródło
Dwie dobre opcje to Cygwin, który da ci uniksowe, podobne do bash środowisko (alternatywa dla cmd.exe); oraz Unxutils , porty Win32 kolekcji indywidualnych narzędzi Uniksa. W obu pakietach zobacz „sed”, „awk” i „grep”.
źródło
Możesz także użyć GSAR do wyszukiwania i zamiany wiersza poleceń. Działa również z szesnastkowym i binarnym. Nie wykona złożonego ciężkiego podnoszenia, który może wykonać wyrażenie regularne, ale w przypadku podstawowego wyszukiwania i wymiany wykonuje zadanie szybko i łatwo.
źródło