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

[文本处理] 怎么用批处理整理这个文本

原文本123.txt如下:
results|61.146.0.86|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">[空口令]</font>"
summary|61.146.0.86|OS: Unknown OS; PORT/TCP:
results|61.146.92.34|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">infox1eies2sps3was4!</font>"
summary|61.146.92.34|OS: Unknown OS; PORT/TCP:
results|112.94.74.118|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">[空口令]</font>"
summary|112.94.74.118|OS: Unknown OS; PORT/TCP:
results|112.97.226.41|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">[空口令]</font>"
summary|112.97.226.41|OS: Unknown OS; PORT/TCP:
results|113.64.105.240|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">[空口令]</font>"
summary|113.64.105.240|OS: Unknown OS; PORT/TCP:
results|113.65.32.70|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">[空口令]</font>"
results|113.64.217.61|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">0000</font>"
summary|113.65.32.70|OS: Unknown OS; PORT/TCP:
summary|113.64.217.61|OS: Unknown OS; PORT/TCP:
results|113.66.237.60|ms-sql-s (1433/tcp)|HOLE|SQL-Server弱口令: "<font color="blue">sa</font>/<font color="red">[空口令]</font>"
整理成这样的格式:
61.146.0.86 sa ""
61.146.92.34 sa infox1eies2sps3was4!
......
113.64.217.61 sa 0000

如果是空口令就改成""
文本中绿颜色的也都去掉
请高手帮忙

  1. sed "/results/!d; s/^[^|]*|\(.*\)|ms.*blue\x22>\(.*\)<\/font>/\1\t\2/g; s/<[^>]*>//g; s/\/\|\x22/\t/g; s/\[空口令\]/\x22\x22/g" 123.txt
复制代码
sed是第三方工具,在论坛搜索下载地址。另请自行优化代码。

[ 本帖最后由 asnahu 于 2010-1-26 21:18 编辑 ]

TOP

来个不用sed的
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=2* delims=|" %%i in ('findstr /i /v "unknown" 123.txt') do (
  3.     set "v=%%j"
  4.     set "v=!v:*red"^>=!"
  5.     set "v=!v:</font>"=!"
  6.     if "!v:~,1!" equ "[" (echo %%i sa "") else echo %%i sa !v!
  7. )
  8. pause
复制代码

TOP

返回列表