如何在 Bat/CMD 中使用 Findstr /B [TAB] 获取制表符起始行

如何在 Bat/CMD 中使用 Findstr /B [TAB] 获取制表符起始行

有一个选项适用于Unix 和 Linux
喜欢@jimmij应答命令:grep -B2 '^\t' file

但有没有只使用/Findstr命令?

已经试过了..

Findstr /bl [0x09] "File.txt"
Findstr /b "[<0x09>]" "File.txt"

Findstr /bl "[\<0x09\>]" "File.txt"
Findstr /bl [\^<0x09\^>] "File.txt"

Findstr /b "[<0x09>]" "File.txt"
Findstr /b "[^<0x09^>]" "File.txt"

call findstr /b [^<0x09^>] "File.txt

cmd /u /c "Findstr /b "[<0x09>]" "File.txt""
cmd /u /s /c "Findstr /b "[^<0x09^>]" "File.txt""
cmd /u /s /c "call findstr /b [^<0x09^>] "File.txt""

%__AppDir__%Findstr /b "TAB" "file.txt"
%__AppDir__%Findstr /bl "TAB" "file.txt"

我可以使用 for 循环并使用制表符作为分隔符if "%a"=="" (...,或者我也可以使用 Unix/Win/Cygwin,但我正在寻找一个选项,它仅使用 Windows 自带的功能返回/直接到达行首的那些包含 TAB 的行。

答案1

这不是很好的解决方案,所以希望有人能找到更简单的方法。使用findstr /G从文件中提取搜索字符串,结合/B标志使字符串在行首匹配:

findstr /b /g:\Temp\yourpattern.txt File.txt

搜索字符串的文件:\Temp\yourpattern.txt应该用好的文本编辑器进行编辑,使其仅包含 TAB 字符。

相关内容