Chinaunix

标题: 文本处理求助-进站画面背景颜色 [打印本页]

作者: bikkuri    时间: 2016-02-21 13:24
标题: 文本处理求助-进站画面背景颜色
大家好!
我有一个问题向大家请教。
我编辑了以下一个进站画面。
  1. ^[[37;40m┌────────────────────────────────────────────────────────────────────┐^[[m
  2. ^[[37;40m│^[[30;47m                                                                    ^[[37;40m│^[[m
  3. ^[[37;40m│^[[30;47m                       欢迎访问帝国数据中心!                       ^[[37;40m│^[[m
  4. ^[[37;40m│^[[30;47m                 WELCOME TO IMPERIAL DATA CENTER!                   ^[[37;40m│^[[m
  5. ^[[37;40m│^[[30;47m                                                                    ^[[37;40m│^[[m
  6. ^[[37;40m└────────────────────────────────────────────────────────────────────┘^[[m
复制代码
然后想挂一个crontab,每分钟改变进站画面的背景颜色,即把上述文本中的^[[30;47m改成其他的颜色。
我是这样写的。
  1. #! /bin/sh
  2. color=$(expr $(date +%M) % 6 + 41);sed -i "s/30\;4?m/30\;${color}m/g" /etc/motd
复制代码
但是看来sed命令并不正确,颜色并没有被改变。
请问应该如何修改呢?
谢谢大家。
作者: bikkuri    时间: 2016-02-21 23:18
改成以下后工作正常了。谢谢。
  1. color=$(expr $(date +%M) % 6 + 41);sed -i "s/30\;4.m/30\;${color}m/g" /etc/motd
复制代码

作者: yjh777    时间: 2016-02-22 10:06
先把颜色码存到一个 关联数组

fgcolors[red]=''; bgcolors[red]=''
fgcolors[blue]=''; bgcolors[blue]=''
...

curcol=red          # sed change me, 每次用sed改这个值就行了
----------------------------------------------------------------------------------------
color=$fgcolors[$curcol]
print code




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2