golang -- CLI 命令行实用程序开发基础

本文介绍了如何使用Golang开发CLI命令行工具selpg,该工具能从文本输入中选择页范围。文章涵盖程序概述、selpg的功能和基本命令参数,包括-s、-e、-l、-f、-d等选项的用法,以及程序逻辑和实现。同时,文章提供了一些测试场景,如命令输入错误、标准输入、指定输入、输出重定向和管道重定向等。
摘要由CSDN通过智能技术生成

一、程序概述

 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 的页只

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值