批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文本处理] [己解决]批处理怎样读取指定列字符串的行?

本帖最后由 keshun 于 2019-3-15 20:08 编辑

1.txt每行格式一样,都有4列空格分开,读取第3列中包含aaa的行并整行输出,求代码,谢谢!!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1-4" %%a in ('type "1.txt"') do (
  4.     set "column3=%%c"
  5.     if "!column3:aaa=!" neq "%%c" (
  6.         echo %%a %%b %%c %%d
  7.     )
  8. )
  9. pause
复制代码
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

  1. gawk "$3~/aaa/" "1.txt" > "2.txt"
复制代码
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

  1. @echo off
  2. for /f "tokens=1-4 delims= " %%a in ('type 1.txt^|find "aaa"') do (
  3. set "colum3=%%c"
  4. setlocal enabledelayedexpansion
  5. if "!colum3:aaa=!" neq "!colum3!" (endlocal&echo;%%a %%b %%c %%d) else (endlocal)
  6. )
  7. pause
复制代码
QQ 33892006

TOP

PS 2.0+
  1. (gc 1.txt)|?{$_ -match '(\S+\s+){2}a{3}'}|sc 2.txt
复制代码

TOP

返回列表