Board logo

标题: [其他] 批处理脚本实现在Windows中用sedsed调试sed命令 [打印本页]

作者: HAT    时间: 2012-2-19 01:33     标题: 批处理脚本实现在Windows中用sedsed调试sed命令

创建文本a.txt内容如下:
1
2
3
4
5

使用以下sed命令可以删除偶数行:
  1. sed "n;d" a.txt
复制代码
得到的结果是:
1
3
5

如果你想看看sed到底是怎样执行的,那么sedsed这个工具无疑是个很好的选择。下面我们就以XP系统为例,介绍一下如何在Windows里面使用它。

1、安装Python,具体步骤请参考http://www.bathome.net/thread-15581-1-1.html

2、把网页http://aurelio.net/projects/sedsed/上的脚本完整复制下来并保存为sedsed.py (如果无法访问官网,也可以直接使用下面这个)
链接: https://pan.baidu.com/s/1De-AChUEaNXb_XBiinOiIw?pwd=r5nn

3、在CMD窗口中执行命令:
  1. python sedsed.py -d --hide=hold "n;d" a.txt
复制代码
效果如下:
C:\Test>python sedsed.py -d --hide=hold "n;d" a.txt
PATT:1$
COMM:n
1
PATT:2$
COMM:d
PATT:3$
COMM:n
3
PATT:4$
COMM:d
PATT:5$
COMM:n
5


4、如果你希望看到像Linux中的彩色字体,请在文件C:\WINDOWS\system32\CONFIG.NT的末尾增加一行:
DEVICE=%systemroot%\system32\ANSI.SYS

然后执行这个bat脚本:
  1. @echo off
  2. python sedsed.py -d --hide=hold --color "n;d" a.txt >b.txt
  3. chcp 437>nul&&graftabl 936>nul
  4. command /c type b.txt
  5. pause
复制代码
效果如下:



5、参考链接:
http://academic.evergreen.edu/projects/biophysics/technotes/program/ansi_esc.htm#notes
http://www.bathome.net/thread-1853-1-1.html




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