假古文的shell实现方式
假古文大家都不陌生了,实现方式也很多很多,什么在线版本地版都有了。不过今天说的这个方法恐怕不是很多人知道,这是在Linux的bash下用一段脚本实现的。
方法很简单,代码如下:
#!/bin/bash
str=”$*”
row=10
num=$((`echo “$str” | wc -m`-1))
col=$(($num/$row+1))
dmr=$((row-$num%$row))m=1
n=0
while [ $m -le $col ]; do
arr[m]=`echo ${str:$n:$row} | sed -e ‘s/ / /g’ -e ‘s/./&│/g’`
let m=m+1
let n=n+row
donewhile [ $dmr -gt 0 ]; do
arr[$col]=”`echo ${arr[$col]} | sed ‘s/$/ │/’`”
let dmr=$dmr-1
donefor ((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
愿意用vi在shell里面直接写也行,用记事本写好传上服务器也行,后缀是.sh,假设存成j.sh吧,然后在文件所在目录下输入:
chmod 777 j.sh //这是让这个文件可以执行
./j.sh 一段文字
效果:
有│四│当│筹│传│未│海│
莫│纪│时│。│宵│卜│外│
愁│为│七│此│柝│此│徒│
。│天│夕│日│,│生│闻│
│子│笑│六│无│休│更│
│,│牵│军│复│。│九│
│不│牛│同│鸡│空│州│
│及│。│驻│人│闻│,│
│卢│如│马│报│虎│他│
│家│何│,│晓│旅│生│
注意如果系统不支持中文的话,就不行了。
转载请注明转自《假古文的shell实现方式》
可以的,假古文已经发展到一个境界了。很强大!
老N的最新blog文章:关闭wordpress2.6的文章版本功能
最近貌似流行这个,楼主原来还会linux,强!
一亿度的最新blog文章:第一次有美女投怀送抱
唉…别太发达了 会被盯上的
同意楼上的,我们好可怜。。。
diciti的最新blog文章:足不出户以三维视角浏览故宫!
呵呵 纯技术探讨
俺也是转的..