三种方法让您清除光标上N行

社区服务
高级搜索
猴岛论坛电脑百科三种方法让您清除光标上N行
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
2个回复

[网络问题]三种方法让您清除光标上N行

楼层直达
上海南站

ZxID:8056535

等级: 中将

举报 只看楼主 使用道具 楼主   发表于: 2011-01-08 0
三种方法让您清除光标上N行
[color=#0000ff][size=6]方案一[/size][size=4] 使用tput 和 printf (最先想到的,回复之后顺便温习一下命令[/size][/color][color=#0000ff][size=4]用法.导致了其他方案的产生)
[/size][/color][size=4][color=#0000ff][color=#ff0000]tput cup 行数 列数(此时为0) ; printf  %${COLUMNS}s
tput cup 行数 列数(此时为0) ; printf  %$(tput cols)s[/color]
[/color][color=#0000ff][/color][/size]
[size=4][color=#ff0000]说明[/color][/size]
[size=3][color=#0000ff]$COLUMNS为小机的一个环境变量,保存了当前终端的总列数,$LINES则保存了总行数[/color][/size]
[size=4][color=#0000ff][size=3][color=#0000ff]tput cols可以查询终端总列数 tput lines查询总行数[/color][/size][/color][/size]
[size=4][color=#0000ff][size=3]printf %ns 打印n个空格[/size]

[/color][/size][size=4][color=#0000ff][size=6]方案二[/size] 纯tput(答出方案一后搜索tput用法时发现的)[/color][/size]
[size=4][color=#0000ff][color=#ff0000]tput cup 行数 列数 ; tput el (清除从光标到行尾的内容)
[/color][/color][/size]
[size=4][color=#0000ff]例子
tput cup 0 0 ; tput el[/color][/size]
[size=4][color=#7b7d72][/color][/size]
[color=#ff0000][/color][size=4][color=#0000ff]
[/color][/size][size=4][color=#0000ff][size=6]方案三[/size] 纯echo(今天上网时又看见讲echo的,因挂念vui,顺便看下,因为之前的问题,故对某些关键字--光标--颇为留意)[/color][/size]
[size=4][color=#ff0000]echo -ne "e[x[/color][/size][size=4][color=#0000ff][color=#ff0000]A""r""e[K"
[/color]

其中蓝色的x为数字,上移x行.
[/color][/size][size=4][color=#0000ff]如果要再删下面的一行
后面加上"n""e[K"


[size=4][color=#ff0000]说明[/color][/size]
e[xA  光标上移x行
e[K    清除从光标到行尾的内容
r        光标移到行首,不换行
n        光标移到行首,换行

[color=#ff0000]注意:[/color]
要加引号,要使用echo -ne选项,推荐此方案,因为echo为bash内建指令,运行速度超快...
同一行写多个命令需用分号间隔,不然bash会把后面的命令看做之前命令的参数

以上方案小机实测可行


[size=5][color=#ff0000]后记:[/color][/size]更多知识需要自己发掘,如有兴趣深入了解上面的命令,了解linux的乐趣,请google "linux 命令的名字"

[size=5][color=#ff0000]思考:[/color][/size]
1;小机实测上面命令时,如何可看到最佳效果
2;printf %ns可打印n个空格,若你不知道此命令,如何打印出 当前终端总列数 个空白来了呢
3;tput可以移动光标,那么echo是否可以实现呢?echo还可以彩色打印,tput呢?


[/color][/size][quote][b]补充内容(2017-03-21 16:57)[/b]
0000




63[/quote]
本帖de评分: 1 条评分 DB +15
DB+15

优秀文章

没了烟抽_

ZxID:13654959

等级: 中将
神马都是浮云    浮云后面是太阳

举报 只看该作者 沙发   发表于: 2011-01-08 0
不懂
houjunyu123

ZxID:13829969

等级: 列兵
举报 只看该作者 板凳   发表于: 2011-01-08 0
好复杂啊
« 返回列表
发帖 回复