古文是没有标点滴
发表于 : 2008-07-02 14:12
代码: 全选
#!/bin/bash
#取得你所输入的字符存储在str变量中
str="$*"
#设置行数为18
row=18
#取得你所输入字符的个数
num=$((`echo "$str" | wc -m`-1))
#计算列数
col=$(($num/$row+1))
#计算补满最后一列需要的字符数
dmr=$((row-$num%$row))
#对数组循环赋值,从arr[1]开始,一个数组等于一列
m=1
n=0
while [ $m -le $col ]; do
#${str:$n:$row},截取变量str从变量n开始的一共变量row个字符串,然后把半角字符变成全角,并且在每个字符串后边加上│符号
#${str:$n:$row}举个例子就是str=1234567890;echo ${str:0:5}
#得到的结果是12345
arr[m]=`echo ${str:$n:$row} | 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'`
let m=m+1
let n=n+row
done
#在字符串尾部添加全角空格和│,以补全最后一列,应该还有简单的方法,但是那时候就想到这个了
while [ $dmr -gt 0 ]; do
arr[$col]="`echo ${arr[$col]} | sed 's/$/ │/'`"
let dmr=$dmr-1
done
#循环输出从最后一个数组的0到2字节开始一直到第一个数组的最后两个字节
for ((i=0;i<=$row*2;i=i+2)) do
echo
for ((j=m;j>=1;j--)) do
echo -n ${arr[j]:i:2}
done
done
代码: 全选
User:~/bin>./test 谁复留君住 叹人生 几翻离合 便成迟暮 最忆西窗同翦烛 却话家山夜雨 不道只 暂时相聚 衮衮长江萧萧木 送遥天 白雁哀鸣去 黄叶下 秋如许 曰归因甚添愁绪 料强似 冷烟寒月 栖迟梵宇 一事伤心君落魄 两鬓飘萧未遇 有解忆 长安儿女 裘敝入门空太 息 信古来 才命真相负 身世恨 共谁语
来│解│宇│因│天│道│暮│谁│
│忆│ │甚│ │只│ │复│
才│ │一│添│白│ │最│留│
命│长│事│愁│雁│暂│忆│君│
真│安│伤│绪│哀│时│西│住│
相│儿│心│ │鸣│相│窗│ │
负│女│君│料│去│聚│同│叹│
│ │落│强│ │ │翦│人│
身│裘│魄│似│黄│衮│烛│生│
世│敝│ │ │叶│衮│ │ │
恨│入│两│冷│下│长│却│几│
│门│鬓│烟│ │江│话│翻│
共│空│飘│寒│秋│萧│家│离│
谁│太│萧│月│如│萧│山│合│
语│息│未│ │许│木│夜│ │
│ │遇│栖│ │ │雨│便│
│信│ │迟│曰│送│ │成│
│古│有│梵│归│遥│不│迟│