sed 概述
需求
处理过程
sed 概述SED 是 Linux 的流式文本编辑器。它不是交互式编辑器,所执行的命令全部来自于命令行或者命令文件。
其处理流程是:逐行读入 txt 文件的每一行,对每一行执行指定的一条或多条命令,处理后的结果默认将显示在显示在屏幕上。
对于不提供宏命令的全屏编辑器,可以利用 sed 作为宏命令进行自动化处理。
需求手头有个排课程序,偶尔利用,所以就未注册,被限制了打印功能,只能打印第一页。
利用抓字程序将结果抓取下来,存为 txt 文件后,利用 sed 就可以自动化处理。
程序排课结果:
抓取文字后的结果:
需要:删除多余的第1、2行;删除行首的空格;删除“三……“班级所在。
经过处理后,我所期望的结果是:
处理过程1、下载最新的 sed 4.2.1,地址是 http://gnuwin32.sourceforge.net/packages/sed.htm 。
注意:需要下载完整安装包(Complete package, except sources),一个文件就搞定。如果下载二进制文件(Binaries),还需要下载依赖文件(Dependencies)。
2、安装到“c:/sed”目录。
3、编写命令文件,存储为“c:/sed/cmd”,包含四条命令:
命令 | 释义 |
1d;2d | 删除多余的第1、2行。两条命令以;分隔。 |
s/ *// | 删除行首的空格。 |
s/三.*// | 删除“三……“班级所在。 |
/^$/d | 删除空行。 |
4、执行:
c:/sed>sed –f cmd 61.txt > out.txt
“-f cmd” 是指定 sed 命令文件名为 cmd(可以是任意的文件名)
“61.txt” 是待处理的文件
“> out.txt”将处理结果重定向到 out.txt 文件,而非原来默认的屏幕