当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 未验证鼠标功能的斜排
帖子发表于 : 2008-07-17 2:48 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
在xiooli的例子里参考solcomo的code. 有2个地方尚待完善.
1>有些特殊符号, 还是没变换好, 譬如:æŧß←€ŧ¶ħđłħ↓ĸµ¹²³¼³ŋ
2>xiooli的鼠标取词没搞清楚
3>code感觉写的很ugly

代码:
./xp.sh "启动后只要右键复制/剪切,然后再粘贴回去还是不能变成斜排的,非常的不方便"


引用:
-\启\复\后\是\的\便\
--\动\制\再\不\,\_\
---\后\/\粘\能\非\_\
----\只\剪\贴\变\常\_\
-----\要\切\回\成\的\_\
------\右\,\去\斜\不\_\
-------\键\然\还\排\方\_\



引用:
-\a\h\o\v\8\
--\b\i\p\w\9\
---\c\j\q\y\0\
----\d\k\r\s\1\
-----\e\l\s\4\_\
------\f\m\t\5\_\
-------\g\n\u\6\_\


引用:
-\启\只\i\切\a\是\
--\动\要\p\,\b\m\
---\后\右\t\然\c\a\
----\b\键\复\后\d\k\
-----\a\s\制\再\回\e\
------\s\c\/\粘\去\不\
-------\h\r\剪\贴\还\能\

====================================
-\变\,\方\_\_\_\
--\成\非\便\_\_\_\
---\d\常\_\_\_\_\
----\o\的\_\_\_\_\
-----\斜\m\_\_\_\_\
------\排\e\_\_\_\_\
-------\的\不\_\_\_\_\




代码:
#!/bin/bash

str=$1
row=7
col=6
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 ((v=1;v<$row+1;v++)) do
      beg=`for ((i=0;i<v;i++));do echo -n "-";done`
      arr="$beg"\\
      for ((h=1;h<$col+1;h++)) do
           pos=$(($row*$col*$count+($h-1)*$row+v-1))
           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'`\\   
           if [ "$content" = \\ ]||[ $pos -ge $tot ];then
                   content="_"\\
           fi
           arr="$arr""$content"
      done
      echo "$arr"
  done
  echo
  echo "$sep"
  let count=count+1
done


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


最后由 yjcong 编辑于 2008-07-17 9:29,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-17 7:53 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
小改了一下, 变了个方向。 第一个在我的终端里显示的很好, 但到这里就乱了。 第2个在我的终端里很乱, 到这里就好了, 不知是为什么?

引用:
----------/启/键/,/回/变/非/_/
--------/动/复/然/去/成/常/_/
------/后/制/后/还/斜/的/_/
----/只///再/是/排/不/_/
--/要/剪/粘/不/的/方/_/
/右/切/贴/能/,/便/_/


引用:
--------------------/启/键/,/回/变/非/_/
----------------/动/复/然/去/成/常/_/
------------/后/制/后/还/斜/的/_/
--------/只///再/是/排/不/_/
----/要/剪/粘/不/的/方/_/
/右/切/贴/能/,/便/_/






代码:
#!/bin/bash

str=$1
row=6
col=7
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 ((v=1;v<$row+1;v++)) do
      beg=`for ((i=2*$row;i>2*v;i--));do echo -n "--";done`
      arr="$beg"/
      for ((h=1;h<$col+1;h++)) do
           pos=$(($row*$col*$count+($h-1)*$row+v-1))
           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'`/ 
           if [ "$content" = / ]||[ $pos -ge $tot ];then
                   content="_"/
         fi
           arr="$arr""$content"
      done
      echo "$arr"
  done
echo
  echo "$sep"
 
  let count=count+1
done


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-17 8:03 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
好像这次可以用右键了。 可是在我的本子上粘贴出来的都是些乱码,如下。 终端显示
引用:
wc: standard input:1: Invalid or incomplete multibyte or wide character
wc: standard input:2: Invalid or incomplete multibyte or wide character


引用:
--------------------/4/a/r/m/b/_/
----------------/:/l/p/m/y/_/
------------/i/i/l/u/t/_/
--------/I/d/n/e/l/e/_/
----/n/c/t/t/_/_/
/v/o/o/e/i/_/_/


谁试试, 看看能否正常的输出,

代码:
#!/bin/bash

format() {
row=6
col=7
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 ((v=1;v<$row+1;v++)) do
      beg=`for ((i=2*$row;i>2*v;i--));do echo -n "--";done`
      arr="$beg"/
      for ((h=1;h<$col+1;h++)) do
           pos=$(($row*$col*$count+($h-1)*$row+v-1))
           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'`
           if [ "$content" = / ]||[ $pos -ge $tot ];then
                   content="_"/
         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 "/"`" ] && format
  sleep 0.5
done


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-17 9:16 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
鳖人


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-17 17:32 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
ls人鳖


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-07-17 17:48 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
引用:
--------------------/小/。/我/示/但/了/
----------------/改/变/的/的/到/。/
------------/了/了/第/终/很/这/
--------/一/个/一/端/好/里/第/
----/下/方/个/里/,/就/2/
/,/向/在/显/乱/个/

====================================
--------------------/在/很/里/不/?/_/_/
----------------/我/乱/就/知/_/_/_/
------------/的/,/好/是/_/_/_/
--------/终/了/为/_/_/_/
----/端/到/,/什/_/_/_/
/里/这/么/_/_/_/

====================================

严重怀疑你的机器有问题,我这儿没有乱码啊。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-07-17 17:51 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
[ ! "`echo $str0 |grep "/"`" ] && format
lz还是换个斜线符吧,因为斜线很常用,如果复制的文本里面有的话就不会format了,我那个竖线都是找的不常用的制表符。


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-07-17 18:32 
头像

注册: 2008-06-22 12:27
帖子: 921
送出感谢: 0 次
接收感谢: 0 次
:wink:


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-07-17 18:54 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
xiooli 写道:
[ ! "`echo $str0 |grep "/"`" ] && format
lz还是换个斜线符吧,因为斜线很常用,如果复制的文本里面有的话就不会format了,我那个竖线都是找的不常用的制表符。



按照你的建议, 换了一个. 你再试试看

引用:
.﹎.﹎.﹎.﹎.﹎.﹎.﹎.﹎╱还╱因╱果╱的╱a╱都╱表╱.﹎╱
.﹎.﹎.﹎.﹎.﹎.﹎.﹎╱是╱为╱复╱话╱t╱是╱符╱.﹎╱
.﹎.﹎.﹎.﹎.﹎.﹎╱换╱斜╱制╱就╱了╱找╱.﹎╱.﹎╱
.﹎.﹎.﹎.﹎.﹎╱个╱线╱的╱不╱,╱的╱.﹎╱.﹎╱
.﹎.﹎.﹎.﹎╱斜╱很╱文╱会╱我╱不╱.﹎╱.﹎╱
.﹎.﹎.﹎╱线╱常╱本╱f╱那╱常╱.﹎╱.﹎╱
.﹎.﹎╱符╱用╱里╱o╱个╱用╱.﹎╱.﹎╱
.﹎╱吧╱,╱面╱r╱竖╱的╱.﹎╱.﹎╱
╱,╱如╱有╱m╱线╱制╱.﹎╱.﹎╱




出现问题: 如果有空格, 则后面的内容无法显示, 好像和sed有关


代码:
#!/bin/bash

# ╲  ╱  ﹨   \
# ▁  ﹎   ︿  ﹏  ╧

separator="╱"
space=".﹎"

format() {
row=6
col=7
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 ((v=1;v<$row+1;v++)) do
      beg=`for ((i=$row;i>v;i--));do echo -n "$space";done`
      arr="$beg"$separator
      for ((h=1;h<$col+1;h++)) do
           pos=$(($row*$col*$count+($h-1)*$row+v-1))
           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/./&'$separator'/g'`
           if [ "$content" = "$separator" ]||[ $pos -ge $tot ];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


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-07-17 19:27 
头像

注册: 2007-12-08 23:33
帖子: 4088
地址: SCUT-guangzhou
送出感谢: 0 次
接收感谢: 0 次
:lol:


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-07-18 18:41 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
空格问题解决, 但是单引号和双引号宽度不够


代码:
#!/bin/bash

# ╲  ╱  ﹨   \
# ▁  ﹎   ︿  ﹏  ╧

separator="╱"
space=".﹎"

format() {
row=6
col=7
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 ((v=1;v<$row+1;v++)) do
      beg=`for ((i=$row;i>v;i--));do echo -n "$space";done`
      arr="$beg"$separator
      for ((h=1;h<$col+1;h++)) do
           pos=$(($row*$col*$count+($h-1)*$row+v-1))
           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/./&'$separator'/g'`
           if [  ! "$content"  ]||[ $pos -ge $tot ];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


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-07-18 18:52 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
恩那,所以有引号的就会错位,看看用什么来代替引号吧。


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-07-18 19:37 
头像

注册: 2007-04-25 13:12
帖子: 2838
送出感谢: 0 次
接收感谢: 0 次
:em26


_________________
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-07-18 20:58 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
____________╱此 ╱以 ╱向 ╱右 ╱也 ╱填 ╱符 ╱___╱
_________╱改 ╱选 ╱右 ╱向 ╱可 ╱充 ╱号 ╱___╱
______╱进 ╱择 ╱看 ╱左 ╱以 ╱空 ╱___╱___╱
___╱版 ╱从 ╱或 ╱看 ╱选 ╱格 ╱___╱___╱
╱可 ╱左 ╱从 ╱; ╱择 ╱的 ╱___╱___╱



╲此 ╲以 ╲向 ╲右 ╲也 ╲填 ╲符 ╲♞♖╲
⚓☣╲改 ╲选 ╲右 ╲向 ╲可 ╲充 ╲号 ╲♞♖╲
⚓☣⚓☣╲进 ╲择 ╲看 ╲左 ╲以 ╲空 ╲♞♖╲♞♖╲
⚓☣⚓☣⚓☣╲版 ╲从 ╲或 ╲看 ╲选 ╲格 ╲♞♖╲♞♖╲
⚓☣⚓☣⚓☣⚓☣╲可 ╲左 ╲从 ╲; ╲择 ╲的 ╲♞♖╲♞♖╲




代码:
#!/bin/bash

model=right-left
#model=left-right

if [ "$model" = "left-right" ];then
separator="╲"
elif [ "$model" = "right-left" ];then
separator="╱"
else
start-stop-daemon --oknodo -K -q -R 30 -n `echo ${0##*/}`
fi

space="___"
pre="___"

format() {
row=10
col=15
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 ((v=1;v<$row+1;v++)) do
       if [ "$model" = "left-right" ];then
           beg=`for ((i=1;i<$v;i++));do echo -n "$pre";done`
       else
           beg=`for ((i=$row;i>$v;i--));do echo -n "$pre";done`
       fi 
      arr="$beg"$separator
      for ((h=1;h<$col+1;h++)) do
           pos=$(($row*$col*$count+($h-1)*$row+v-1))
           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/./& '$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


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-07-19 8:41 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
:D


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Yahoo [Bot] 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译