还有, 如果文本中有英文的双引号, 则有问题
新版本增加了从右边开始的方式。(共4种)
model=right::right-left
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╱制 ╱z ╱6 ╱e ╱2 ╱发 ╱号 ╱丁 ╱在 ╱版 ╱补 ╱游 ╱
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╱编 ╱i ╱V ╱g ╱( ╱布 ╱。 ╱, ╱它 ╱。 ╱丁 ╱戏 ╱
☣
☣
☣
☣
☣
☣
☣
☣
☣╱辑 ╱p ╱e ╱a ╱R ╱的 ╱但 ╱肯 ╱的 ╱育 ╱, ╱厂 ╱
☣
☣
☣
☣
☣
☣
☣
☣╱器 ╱中 ╱g ╱s ╱a ╱《 ╱是 ╱定 ╱论 ╱碧 ╱因 ╱商 ╱
☣
☣
☣
☣
☣
☣
☣╱打 ╱, ╱a ╱2 ╱i ╱彩 ╱现 ╱会 ╱坛 ╱也 ╱为 ╱一 ╱
☣
☣
☣
☣
☣
☣╱开 ╱如 ╱s ╱) ╱n ╱虹 ╱在 ╱被 ╱上 ╱不 ╱它 ╱般 ╱
☣
☣
☣
☣
☣╱的 ╱果 ╱2 ╱》 ╱b ╱六 ╱, ╱警 ╱讨 ╱例 ╱显 ╱都 ╱
☣
☣
☣
☣╱话 ╱你 ╱_ ╱官 ╱o ╱号 ╱在 ╱告 ╱论 ╱外 ╱然 ╱讨 ╱
☣
☣
☣╱, ╱用 ╱f ╱方 ╱w ╱: ╱育 ╱或 ╱免 ╱, ╱会 ╱厌 ╱
☣
☣╱会 ╱1 ╱i ╱补 ╱6 ╱维 ╱碧 ╱封 ╱光 ╱如 ╱推 ╱免 ╱
☣╱清 ╱6 ╱x ╱丁 ╱: ╱加 ╱刚 ╱掉 ╱盘 ╱果 ╱动 ╱光 ╱
╱楚 ╱进 ╱。 ╱R ╱V ╱斯 ╱刚 ╱帐 ╱补 ╱你 ╱盗 ╱盘 ╱
model=right::left-right
╲制 ╲z ╲6 ╲e ╲2 ╲发 ╲号 ╲丁 ╲在 ╲版 ╲补 ╲游 ╲
☣╲编 ╲i ╲V ╲g ╲( ╲布 ╲。 ╲, ╲它 ╲。 ╲丁 ╲戏 ╲
☣
☣╲辑 ╲p ╲e ╲a ╲R ╲的 ╲但 ╲肯 ╲的 ╲育 ╲, ╲厂 ╲
☣
☣
☣╲器 ╲中 ╲g ╲s ╲a ╲《 ╲是 ╲定 ╲论 ╲碧 ╲因 ╲商 ╲
☣
☣
☣
☣╲打 ╲, ╲a ╲2 ╲i ╲彩 ╲现 ╲会 ╲坛 ╲也 ╲为 ╲一 ╲
☣
☣
☣
☣
☣╲开 ╲如 ╲s ╲) ╲n ╲虹 ╲在 ╲被 ╲上 ╲不 ╲它 ╲般 ╲
☣
☣
☣
☣
☣
☣╲的 ╲果 ╲2 ╲》 ╲b ╲六 ╲, ╲警 ╲讨 ╲例 ╲显 ╲都 ╲
☣
☣
☣
☣
☣
☣
☣╲话 ╲你 ╲_ ╲官 ╲o ╲号 ╲在 ╲告 ╲论 ╲外 ╲然 ╲讨 ╲
☣
☣
☣
☣
☣
☣
☣
☣╲, ╲用 ╲f ╲方 ╲w ╲: ╲育 ╲或 ╲免 ╲, ╲会 ╲厌 ╲
☣
☣
☣
☣
☣
☣
☣
☣
☣╲会 ╲1 ╲i ╲补 ╲6 ╲维 ╲碧 ╲封 ╲光 ╲如 ╲推 ╲免 ╲
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╲清 ╲6 ╲x ╲丁 ╲: ╲加 ╲刚 ╲掉 ╲盘 ╲果 ╲动 ╲光 ╲
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╲___╲进 ╲。 ╲R ╲V ╲斯 ╲刚 ╲帐 ╲补 ╲你 ╲盗 ╲盘 ╲
model=left::right-left
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╱游 ╱补 ╱版 ╱在 ╱丁 ╱号 ╱发 ╱2 ╱e ╱6 ╱z ╱制 ╱
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╱戏 ╱丁 ╱。 ╱它 ╱, ╱。 ╱布 ╱( ╱g ╱V ╱i ╱编 ╱
☣
☣
☣
☣
☣
☣
☣
☣
☣╱厂 ╱, ╱育 ╱的 ╱肯 ╱但 ╱的 ╱R ╱a ╱e ╱p ╱辑 ╱
☣
☣
☣
☣
☣
☣
☣
☣╱商 ╱因 ╱碧 ╱论 ╱定 ╱是 ╱《 ╱a ╱s ╱g ╱中 ╱器 ╱
☣
☣
☣
☣
☣
☣
☣╱一 ╱为 ╱也 ╱坛 ╱会 ╱现 ╱彩 ╱i ╱2 ╱a ╱, ╱打 ╱
☣
☣
☣
☣
☣
☣╱般 ╱它 ╱不 ╱上 ╱被 ╱在 ╱虹 ╱n ╱) ╱s ╱如 ╱开 ╱
☣
☣
☣
☣
☣╱都 ╱显 ╱例 ╱讨 ╱警 ╱, ╱六 ╱b ╱》 ╱2 ╱果 ╱的 ╱
☣
☣
☣
☣╱讨 ╱然 ╱外 ╱论 ╱告 ╱在 ╱号 ╱o ╱官 ╱_ ╱你 ╱话 ╱
☣
☣
☣╱厌 ╱会 ╱, ╱免 ╱或 ╱育 ╱: ╱w ╱方 ╱f ╱用 ╱, ╱
☣
☣╱免 ╱推 ╱如 ╱光 ╱封 ╱碧 ╱维 ╱6 ╱补 ╱i ╱1 ╱会 ╱
☣╱光 ╱动 ╱果 ╱盘 ╱掉 ╱刚 ╱加 ╱: ╱丁 ╱x ╱6 ╱清 ╱
╱盘 ╱盗 ╱你 ╱补 ╱帐 ╱刚 ╱斯 ╱V ╱R ╱。 ╱进 ╱___╱
model=left::left-right
╲游 ╲补 ╲版 ╲在 ╲丁 ╲号 ╲发 ╲2 ╲e ╲6 ╲z ╲制 ╲
☣╲戏 ╲丁 ╲。 ╲它 ╲, ╲。 ╲布 ╲( ╲g ╲V ╲i ╲编 ╲
☣
☣╲厂 ╲, ╲育 ╲的 ╲肯 ╲但 ╲的 ╲R ╲a ╲e ╲p ╲辑 ╲
☣
☣
☣╲商 ╲因 ╲碧 ╲论 ╲定 ╲是 ╲《 ╲a ╲s ╲g ╲中 ╲器 ╲
☣
☣
☣
☣╲一 ╲为 ╲也 ╲坛 ╲会 ╲现 ╲彩 ╲i ╲2 ╲a ╲, ╲打 ╲
☣
☣
☣
☣
☣╲般 ╲它 ╲不 ╲上 ╲被 ╲在 ╲虹 ╲n ╲) ╲s ╲如 ╲开 ╲
☣
☣
☣
☣
☣
☣╲都 ╲显 ╲例 ╲讨 ╲警 ╲, ╲六 ╲b ╲》 ╲2 ╲果 ╲的 ╲
☣
☣
☣
☣
☣
☣
☣╲讨 ╲然 ╲外 ╲论 ╲告 ╲在 ╲号 ╲o ╲官 ╲_ ╲你 ╲话 ╲
☣
☣
☣
☣
☣
☣
☣
☣╲厌 ╲会 ╲, ╲免 ╲或 ╲育 ╲: ╲w ╲方 ╲f ╲用 ╲, ╲
☣
☣
☣
☣
☣
☣
☣
☣
☣╲免 ╲推 ╲如 ╲光 ╲封 ╲碧 ╲维 ╲6 ╲补 ╲i ╲1 ╲会 ╲
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╲光 ╲动 ╲果 ╲盘 ╲掉 ╲刚 ╲加 ╲: ╲丁 ╲x ╲6 ╲清 ╲
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣
☣╲盘 ╲盗 ╲你 ╲补 ╲帐 ╲刚 ╲斯 ╲V ╲R ╲。 ╲进 ╲___╲
代码: 全选
#!/bin/bash
#model=left::left-right
#model=left::right-left
#model=right::left-right
model=right::right-left
space="___"
pre="___"
row=10
col=15
if [ "`echo $model|awk -F "::" '{print $2}'`" = "left-right" ];then
separator="╲"
elif [ "`echo $model|awk -F "::" '{print $2}'`" = "right-left" ];then
separator="╱"
else
start-stop-daemon --oknodo -K -q -R 30 -n `echo ${0##*/}`
fi
format() {
tot=$((`echo "$str" | wc -m`-1))
prod=$(($row*$col+1))
unit=$(($tot/$prod+1))
sep=`for ((i=0;i<($row+$col+5);i++));do echo -n '==';done`
count=0
while [ "$count" -lt "$unit" ];do
for ((y=1;y<$row+1;y++)) do
if [ "`echo $model|awk -F "::" '{print $2}'`" = "left-right" ];then
beg=`for ((i=1;i<$y;i++));do echo -n "$pre";done`
else
beg=`for ((i=$row;i>$y;i--));do echo -n "$pre";done`
fi
arr="$beg"$separator
for ((x=1;x<$col+1;x++)) do
if [ "`echo $model|awk -F "::" '{print $1}'`" = "left" ];then
pos=$(($row*$col*$count+($x-1)*$row+$y-1))
else
pos=$(($row*$col*$count+($col-$x)*$row+$y-1))
fi
content=`echo ${str:pos:1}| sed -e 's/ / /g' -e 's/"/“/g' -e "s/'/'/g" -e 's/a/a/g' -e 's/b/b/g' -e 's/c/c/g' -e 's/d/d/g' -e 's/e/e/g' -e 's/f/f/g' -e 's/g/g/g' -e 's/h/h/g' -e 's/i/i/g' -e 's/j/j/g' -e 's/k/k/g' -e 's/l/l/g' -e 's/m/m/g' -e 's/n/n/g' -e 's/o/o/g' -e 's/p/p/g' -e 's/q/q/g' -e 's/r/r/g' -e 's/s/s/g' -e 's/t/t/g' -e 's/u/u/g' -e 's/v/v/g' -e 's/w/w/g' -e 's/x/x/g' -e 's/y/y/g' -e 's/z/z/g' -e 's/A/A/g' -e 's/B/B/g' -e 's/C/C/g' -e 's/D/D/g' -e 's/E/E/g' -e 's/F/F/g' -e 's/G/G/g' -e 's/H/H/g' -e 's/I/I/g' -e 's/J/J/g' -e 's/K/K/g' -e 's/L/L/g' -e 's/M/M/g' -e 's/N/N/g' -e 's/O/O/g' -e 's/P/P/g' -e 's/Q/Q/g' -e 's/R/R/g' -e 's/S/S/g' -e 's/T/T/g' -e 's/U/U/g' -e 's/V/V/g' -e 's/W/W/g' -e 's/X/X/g' -e 's/Y/Y/g' -e 's/Z/Z/g' -e 's/1/1/g' -e 's/2/2/g' -e 's/3/3/g' -e 's/4/4/g' -e 's/5/5/g' -e 's/6/6/g' -e 's/7/7/g' -e 's/8/8/g' -e 's/9/9/g' -e 's/0/0/g' -e 's/,/,/g' -e 's/\./。/g' -e 's/?/?/g' -e 's/\////g' -e 's/:/:/g' -e 's/;/;/g' -e 's/\"/“/g' -e 's/(/︵/g' -e 's/)/︶/g' -e 's/\[/︻/g' -e 's/\]/︼/g' -e 's/“/﹃/g' -e 's/”/﹄/g' -e 's/{/︷/g' -e 's/}/︸/g' -e 's/!/!/g' -e 's/@/@/g' -e 's/#/#/g' -e 's/%/%/g' -e 's/\^/︿/g' -e 's/\&/&/g' -e 's/\*/*/g' -e 's/-/-/g' -e 's/_/_/g' -e 's/=/=/g' -e 's/+/+/g' -e 's/|/|/g' -e 's/./& '$separator'/g'`
if [ "$content" = "$separator" ]||[ $pos -ge $tot ]||[ ! "$content" ];then
content="$space""$separator"
fi
arr="$arr""$content"
done
echo "$arr"
done
echo
echo "$sep"
let count=count+1
done|xsel -b -i
}
while true;do
str0=`xsel -b`
[ "str0" != "str" ] && str="$str0"
[ ! "`echo $str0 |grep "$separator"`" ] && format
sleep 0.5
done