如何使用cmd命令在txt中找到包含字符串的最后一行

时间:2016-06-15 13:23:18

标签: windows batch-file cmd command

我想在.txt文件中找到两个不同的字符串。我需要两个脚本,第一个脚本用于查找包含这些字符串的最后一行,第二个脚本用于查找包含这些字符串的最后一行。我试着写一些东西但是我离开了这个项目。

这就是我迄今为止尝试过的代码:

@echo off
for /f %%i in ('find /v /c "" ^< deneme.txt') do set /a lines=%%i
echo %lines%
set /a startLine=%lines% - 1
more /e +%startLine% deneme.txt > temp.txt
find "ali" temp.txt|find "veli" 
del temp.txt

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

@echo off
set "string1=ali"
set "string2=veli"
set "file=deneme.txt"

for /f "delims=" %%a in ('findstr /i "\<%string1%\>" %file% ^|findstr /i /v "\<%string2%\>" ') do set "out1=%%a"
for /f "delims=" %%a in ('findstr /i "\<%string2%\>" %file% ^|findstr /i /v "\<%string1%\>" ') do set "out2=%%a"
for /f "delims=" %%a in ('findstr /i "\<%string1%\>" %file% ^|findstr /i "\<%string2%\>" ') do set "out3=%%a"

echo last line with %string1%:   "%out1%"
echo last line with %string2%:   "%out2%"
echo last line with both:        "%out3%"

有关说明,请参阅for /?findstr /?