
能滚动文字的脚本哦^^
- lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
- 联系:
没找到呢。我自己编了一个但是效果相当不好。变成隔一行读一个了。我自己也搞不明白了。
代码: 全选
lonelycorn@untbook:~$ cat abc
lkjlksdf lkjsdlkfj dfjlkjwelr
lkjsd jklerjncvlkj this sucks!!
sldkjflkwe sdjlkj
sdfljk xlkcjlsf
lskdjfl saldkfjl adfl
lonelycorn@untbook:~$ cat xxx
#!/bin/bash
exec 10<&0
exec < abc
n=0
while read arr[`expr $n + 1 `]
do
let n+=1
read arr[${n}]
done
exec 0<&10 10<&-
for (( i=0; i<${#arr[@]}; i++ ));do echo ${arr[${i}]}; done
lonelycorn@untbook:~$ ./xxx
lkjsd jklerjncvlkj this sucks!!
sdfljk xlkcjlsf
- lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
- 联系:
基本完成了。就是还有个空行。
代码: 全选
lonelycorn@untbook:~$ cat abc
lkjlksdf lkjsdlkfj dfjlkjwelr
lkjsd jklerjncvlkj this sucks!!
sldkjflkwe sdjlkj
sdfljk xlkcjlsf
lskdjfl saldkfjl adfl
lonelycorn@untbook:~$ cat xxx
#!/bin/bash
declare -a arr
exec 10<&0
exec < abc
n=0
while read arr[$(( $n + 1 ))]
do
let n+=1
done
exec 0<&10 10<&-
echo ${#arr[*]}
for (( i=0; i<${#arr[@]}; i++ ));do echo ${arr[${i}]}; done
lonelycorn@untbook:~$ ./xxx
6
lkjlksdf lkjsdlkfj dfjlkjwelr
lkjsd jklerjncvlkj this sucks!!
sldkjflkwe sdjlkj
sdfljk xlkcjlsf
lskdjfl saldkfjl adfl
- lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
- 联系:
完成了。原来最后一个read有问题。
那个exec完全是我为了偷懒才加的。你可以在while外面加上个{}再重定向到abc
那个exec完全是我为了偷懒才加的。你可以在while外面加上个{}再重定向到abc
代码: 全选
lonelycorn@untbook:~$ cat abc
lkjlksdf lkjsdlkfj dfjlkjwelr
lkjsd jklerjncvlkj this sucks!!
sldkjflkwe sdjlkj
sdfljk xlkcjlsf
lskdjfl saldkfjl adfl
lonelycorn@untbook:~$ cat xxx
#!/bin/bash
declare -a arr
exec 10<&0
exec < abc
n=0
while read arr[$n]
do
let n+=1
done
unset arr[$n]
exec 0<&10 10<&-
echo ${#arr[*]}
for (( i=0; i<${#arr[@]}; i++ ));do echo ${arr[${i}]}; done
lonelycorn@untbook:~$ ./xxx
5
lkjlksdf lkjsdlkfj dfjlkjwelr
lkjsd jklerjncvlkj this sucks!!
sldkjflkwe sdjlkj
sdfljk xlkcjlsf
lskdjfl saldkfjl adfl
- lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
- 联系:
- lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
- 联系:
- O_O_BOT
- 帖子: 2461
- 注册时间: 2009-05-20 19:32
Re: 能滚动文字的脚本哦^^
IFS="
"
就可以分割了
"
就可以分割了
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
- hjhee
- 帖子: 418
- 注册时间: 2008-03-08 8:07
Re: 能滚动文字的脚本哦^^
读小说不用翻页了 
长的句子后面显示不出来 希望能转行显示

长的句子后面显示不出来 希望能转行显示
- O_O_BOT
- 帖子: 2461
- 注册时间: 2009-05-20 19:32
Re: 能滚动文字的脚本哦^^
fold -w
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- yaska
- 帖子: 1169
- 注册时间: 2007-10-28 21:35
- O_O_BOT
- 帖子: 2461
- 注册时间: 2009-05-20 19:32
Re: 能滚动文字的脚本哦^^
代码: 全选
#!/bin/bash
[ -z $1 ] && echo "No input file!" && exit 1
screen_line=${2:-10}
line_width=${3:-80}
(( hlt_line = screen_line / 2 ))
mk_lines() {
OIFS=$IFS
echo $OIFS
IFS="
"
lines=($(cat $1 | fold -w $line_width))
IFS=$OIFS
line_cnt=${#lines[@]}
}
init() {
tty=$(stty -g)
echo -e "\033[?25l"
}
restore() {
echo -e "\033[?25h"
stty $tty
clear
}
show() {
local num index
clear
for ((num=0; num<screen_line; num++)); do
(( index = $1 - hlt_line + num))
if (( index < 0 )) || (( index >= line_cnt)); then
continue
fi
echo -ne "\033[$((num+3));10H"
if (( num == hlt_line )); then
echo -ne "\033[;32m${lines[$index]}\033[0m"
else
echo -ne "${lines[$index]}"
fi
done
}
##########################################################
mk_lines $1
init
for ((i=0; i<line_cnt; i++)); do
show $i
sleep 1
done
restore
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系: