Board logo

标题: [文本处理] [己解决]批处理怎样读取指定列字符串的行? [打印本页]

作者: keshun    时间: 2019-3-15 08:47     标题: [己解决]批处理怎样读取指定列字符串的行?

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

1.txt每行格式一样,都有4列空格分开,读取第3列中包含aaa的行并整行输出,求代码,谢谢!!
作者: Batcher    时间: 2019-3-15 10:03

  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
复制代码

作者: Batcher    时间: 2019-3-15 10:04

  1. gawk "$3~/aaa/" "1.txt" > "2.txt"
复制代码

作者: yhcfsr    时间: 2019-3-15 10:04

  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
复制代码

作者: xczxczxcz    时间: 2019-3-15 11:35

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





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2