[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何提取文本中指定内容的行及其前几行内容

本帖最后由 ads350668398 于 2016-12-12 07:24 编辑

得到文本全特定字符和前几行的字符
A.TXT
13
16
15
3
1
3
16
9
14
12
13
4
10
3
6
13
得到13的前3行:
13 9     10
    14    3
    12    6
    13   13

for /f "tokens=1* delims=" %%a in ('findstr /inx "13" a.txt') do ( 呵呵不会了
1

评分人数

晕 全adc 这个不是论坛做的么怎么没有中文的啊

TOP

回复 17# ads350668398


    grep --help 这个命令可以查看参数和用法

TOP

回复 18# ads350668398


    再仔细阅读一遍16楼的描述:把它放到 C:\Windows\System32 目录下面也行

TOP

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>cd..

C:\Users>cd..

C:\>grep /?
'grep' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\>

TOP

回复 16# GNU


    恩 grep 有哪些参数 是不是百科那个啊

TOP

回复 11# ads350668398


把 grep .exe 跟 ss.txt 放到同一目录
或者把它放到 C:\Windows\System32 目录下面也行

TOP

  1. PowerShell -c "Select-String a.txt -Encoding Default -Pattern '^13$' -Context 3|%%{$_.Context.PreContext, $_.Matches[0].Value}"
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (a.txt) do (
  4.     if "%%i" == "13" (
  5.         if "!a!!b!!c!" NEQ "" (echo;!a!&echo;!b!&echo;!c!&echo;%%i) else echo;%%i
  6.     )
  7.     set "a=!b!"
  8.     set "b=!c!"
  9.     set "c=%%i"
  10. )
  11. pause
复制代码
1

评分人数

TOP

回复 12# GNU


    谢谢
grep.exe怎么个用法 链接麻烦啊发下 我怕我找的不对

TOP

回复 11# ads350668398


    是 grep 不是 gawk

TOP

本帖最后由 ads350668398 于 2016-12-13 16:19 编辑

回复 10# GNU


    gawk64.exe


F:\bat>echo
ECHO 处于打开状态。

F:\bat>grep -B 3 "13" ss.txt  1>bss1.txt
'grep' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

F:\bat>pause
请按任意键继续. . .

TOP

回复 9# ads350668398


如果你没有 grep.exe 的话需要先下载一个
http://www.bathome.net/s/tool/index.html
1

评分人数

TOP

回复 7# GNU


    echo
grep -B 3 "13" ss.txt > bss1.txt
输出的文件bss1没有任何东西啊?

TOP

本帖最后由 ads350668398 于 2016-12-13 08:47 编辑

回复 6# GNU

没有渠道沟通 晕了
    set /a m=%%a-2&set _!m!=
  set /a m=%%a-3&set _!m!=  
  set /a m=%%a-4&set _!m!=
得到第一个 13前面的几行怎么做才能【得到文本中所有 13】的前面几行啊??

TOP

返回列表