一、程序概述
CLI(Command Line Interface)实用程序是Linux下应用开发的基础。正确的编写命令行程序让应用与操作系统融为一体,通过shell或script使得应用获得最大的灵活性与开发效率。Linux提供了cat、ls、copy等命令与操作系统交互;go语言提供一组实用程序完成从编码、编译、库管理、产品发布全过程支持;容器服务如docker、k8s提供了大量实用程序支撑云服务的开发、部署、监控、访问等管理任务;git、npm等都是大家比较熟悉的工具。尽管操作系统与应用系统服务可视化、图形化,但在开发领域,CLI在编程、调试、运维、管理中提供了图形化程序不可替代的灵活性与效率。
二、selpg程序简介
selpg的基本介绍来自开发 Linux 命令行实用程序
selpg 是从文本输入选择页范围的实用程序。该输入可以来自作为最后一个命令行参数指定的文件,在没有给出文件名参数时也可以来自标准输入。简单来说就是允许用户指定从输入文本抽取的页的范围,根据这些范围来输出相应的文本,可以以标准输出流输出或是输出到目的地
三、基本命令参数
selpg基本处理的命令形式如下
selpg -s start_page -e endpage [-l pageline | -f][-d dest] filename
从输入命令来看,-s,-e,filename三个参数是必须的
-l | -f -d三个参数是可选的
对命令进行分析:
1.selpg是实现的程序可执行文件的名称
2. -s start page -e endpage
-s后面接开始读取的页号,类型是int
-e后面接读取结束的页号,类型是int
对于这两个参数的判断,开始页号和结束页号数值都必须大于1,并且开始页号要小于等于结束页号,否则需要输出错误信息
使用示例:
selpg -s 20 -e 25 filename
3. -l pageline 和 -f
-l和-f两个参数互斥
-l 后面需要添加行数int,代表以 pageline行为界进行分页,输入命令时一般把该参数默认为-l,pageline值需要设置一个缺省值,当程序没有接收到-f并且缺少-l时采用这个缺省值
-f 后面不接参数,该类型文本的页由 ASCII 换页字符(十进制数值为 12,在 C 中用“\f”表示)定界。该格式与“每页行数固定”格式相比的好处在于,当每页的行数有很大不同而且文件有很多页时,该格式可以节省磁盘空间。在含有文本的行后面,类型 2 的页只