我正在试图弄清楚如何利用findstr以便它在awk中执行与此行相同的操作:
wk.exe "begin {temp=0}/^stringMarker/{temp=1}{if (temp==1)print$0}" %TEMP%\input.txt >%TEMP%\output.txt
这是我现在能想到的全部内容:
@ECHO OFF
findstr /b /c:"Hello" Hello.bat > nul
if errorlevel 1 (
echo Search Failed
) else (
echo Search Sucessful
)
正如您所看到的,后半部分代码丢失了。我需要帮助来了解如何在stringMarker之后获取行,然后才能将它们重定向到文件中。
干杯
答案 0 :(得分:0)
如果可能的话,我建议使用gawk的windows端口。如果由于某些原因你不能,那么vbscript可能效果最好吗?
如果必须使用findstr和cmd,则以下内容应该有效。
find_thing.cmd "^stringMarket" in.txt > out.txt
<强> find_thing.cmd 强>
@echo off
if "%~1"=="" ((echo no arguments) && exit /b)
if "%~2"=="" ((echo insufficient arguments) && exit /b)
set query=%~1
set file_name=%~2
for /f "tokens=1,2* delims=:" %%a in ('findstr /r /n "%query%" "%file_name%"') do (
echo %%b
more +%%a "%file_name%"
exit /b
)