Zasadniczo, mam plik, którego linie chcę pokolorować różnymi kolorami, jeśli pasuje do 1 z 2 wyrażeń regularnych z grep. Jeśli pasuje regexp1, użyj jednego koloru; jeśli pasuje regexp2, użyj innego.
Jednak kolory grep z jednym kolorem na raz, więc chciałbym sprowadzić wyjście grep do innej instrukcji grep o innym kolorze.
Jednak kolor grep jest kontrolowany za pomocą zmiennej środowiskowej GREP_COLOR (jest to przestarzałe na korzyść GREP_COLORS, ale nie działało na Windows, więc zamiast tego używam GREP_COLOR)
Plik wsadowy będzie wyglądał mniej więcej tak:
@echo off
setlocal
set GREP_COLOR=06;32
echo GREEN RED OTHER | grep --color=always --line-buffered "GREEN" | grep --color=always -E "RED"
endlocal
Jak mogę zmienić GREP_COLOR na drugie połączenie grep?
Pracuję z dwoma plikami wsadowymi, ale musi istnieć sposób, aby to zrobić za pomocą pojedynczego pliku wsadowego:
ctest1.bat:
@echo off
setlocal
set GREP_COLOR=06;32
echo GREEN RED OTHER | grep --color=always --line-buffered "GREEN" | ctest2.bat
endlocal
ctest2.bat:
@echo off
setlocal
set GREP_COLOR=01;31
grep --color=always -E "RED"
endlocal
Jakieś pomysły? Wydaje się, że powinno być proste, ale zmarnowałem dobre 2 godziny, próbując zrobić z niego 1 plik wsadowy bez żadnego sukcesu.