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


用gawk.exe试试
  1. gawk "{if($0~/....-..-...*ERROR/)print;else if($0!~/....-..-../)print}" 1.txt > 2.txt
复制代码

TOP

@echo off
for /f "tokens=1-3" %%a in (QQ.txt) do (
    if not "%%c"=="INFO" (echo %%a %%b %%c>>2.txt)
)

TOP

回复 10# DAIC
嗯  谢谢~
没问题了,还有就是问下bat处理txt一般能处理多大·~,几十M应该没问题·~
我刚试了下10m 运行了好久  等会我算下时间

TOP

你好,刚那个bat还有点小问题,能看下嘛?

不用发短消息给我,直接在我的回帖下面点击“回复”就行了。

TOP

回复 8# poi
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. (for /f "delims=" %%i in (1.txt) do (
  4.     set "str=%%i"
  5.     echo "!str!" | findstr "^.....-..-...*ERROR" > nul
  6.     if !errorlevel! equ 0 (
  7.         echo !str!
  8.     ) else (
  9.         echo "!str!" | findstr "^.....-..-.." > nul
  10.         if !errorlevel! neq 0 (
  11.             echo !str!
  12.         )
  13.     )
  14. ))>2.txt
复制代码

TOP

回复 6# DAIC

按上面代码可以,但上面说了txt里可能含有<a>0215138009</a>

所以运行bat会有三种错误
1.此时不应有 <。
2.命令语法不正确。
3.系统找不到指定的文件。

----怎么让他忽略txt里的特殊字符????

TOP

  1. @echo off
  2. findstr "^[1-9][0-9][0-9][0-9]-.*" 1.txt|findstr /iv "error">$
  3. findstr /ivxg:$ 1.txt>2.txt
  4. del $
  5. pause
复制代码

TOP

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. (for /f "delims=" %%i in (1.txt) do (
  4.     set "str=%%i"
  5.     echo !str! | findstr "^....-..-...*ERROR" > nul
  6.     if !errorlevel! equ 0 (
  7.         echo %%i
  8.     ) else (
  9.         echo !str! | findstr "^....-..-.." > nul
  10.         if !errorlevel! neq 0 (
  11.             echo %%i
  12.         )
  13.     )
  14. ))>2.txt
复制代码

TOP

回复 3# PowerShell
还会有其他字符  不能按info处理

TOP

[quote]坐等大神们回复·~~

TOP

开文件,遍历每一行,只要行 结尾含有info就丢弃,否则就输出到另外一个文件。 ----这样?
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

坐等大神们回复·~~

TOP

返回列表