当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 匹配正则并执行的脚本
帖子发表于 : 2009-03-10 13:38 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
鼠标选择文字,根据不同的正则匹配,执行不同的命令。这里是查阅ip,打开地址,和缺省的翻译。
加到热键:Super+A

代码:
#!/bin/bash

l=`xsel -o`
reg[0]="^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"
reg[1]="^http://[^\ ]*$"
#reg[2]="^[A-Za-z]*$"
cmd[0]="~/应用/脚本/ip-show.bash"
cmd[1]="~/应用/脚本/opera-open-file $l"
#cmd[2]="~/应用/脚本/sdcv-notify-send.bash"
n=${#reg[*]}
#for i in ${reg[*]}
for i in `seq $n`
do
#echo $l
#echo ${reg[$i-1]}
if [[ $l =~ ${reg[$i-1]} ]]; then
#echo ${cmd[$i-1]}
eval ${cmd[$i-1]}
exit
fi
done
#default cmd
~/应用/脚本/sdcv-notify-send.bash


反正glipper 的Actions不对头。klipper的别人也说不对。
可能是正则匹配,是使用的语法内嵌正则库,导致表达式不需要转义那些括号类的。使用这2个软件的,可参考如上脚本的写法试试。


_________________
● 鸣学


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-10 14:40 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
加个判断怎么样? xsel 还有 3 个参数:

-p, --primary
operate on the PRIMARY selection (default).

-s, --secondary
operate on the SECONDARY selection.

-b, --clipboard
operate on the CLIPBOARD selection.


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-10 14:43 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
引用:
The ICCCM defines these as follows:

"The selection named by the atom PRIMARY is used for all commands that take only a single argument and is the principal means of communication between clients that use the selection mechanism.

The selection named by the atom SECONDARY is used:
As the second argument to commands taking two arguments (for
example, "exchange primary and secondary selections")
As a means of obtaining data when there is a primary selection and
the user does not want to disturb it


加参数?我根本不使用ctrl-c的。那clipboard没意义。而secondary被废弃了的。

现在是没法监视剪贴板而已。不归dbus管理。在瞎看。


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-10 14:57 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
ee尽在折腾


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-10 15:28 
头像

注册: 2005-08-15 0:04
帖子: 1880
地址: 南7技校
送出感谢: 0 次
接收感谢: 0 次
依依的哲学就是生命在于折腾,不仅自己折腾,还会拉着别人折腾。。。
lerosua 写道:
ee尽在折腾


_________________
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-10 17:42 
头像

注册: 2005-10-04 10:59
帖子: 1928
地址: 上海
送出感谢: 0 次
接收感谢: 1
我的python脚本放在那里好久了,还带手机归属地查询呢,ee就喜欢造新轮子。


_________________
弄个dropbox空间来备份文件或者做私人代码服务器
配置:git://github.com/roylez/dotfiles.git
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-10 18:46 
头像

注册: 2007-04-06 10:24
帖子: 2487
地址: ~/Shanghai
送出感谢: 0 次
接收感谢: 0 次
这有啥用,麻不麻烦

好好的正则就被你们这么折腾


_________________
http://silenceisdefeat.com/~greco
代码:
''.join([chr(ord(c)-2) for c in 'O{"G/ockn"ku<"itgeq0ujkBiockn0eqo'])
echo -n "Z3JlY28uc2hpQGdtYWlsLmNvbQ==" | base64 -d


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-11 9:20 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
roylez, 你的py监视剪贴板更新了?只有做到这点,才可以代替glipper/klipper里面的正则动作。
要不,何用啊。
再说py的,怎么会比bash的简单/通用的。还不是你不用bash。lol
我这用在fvwm的,整合热键的。


btw: 不利用系统已经带了的命令,才叫重新造轮子呢,比如py。呵呵。


_________________
● 鸣学


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-11 9:40 
头像

注册: 2005-10-04 10:59
帖子: 1928
地址: 上海
送出感谢: 0 次
接收感谢: 1
你见过哪个发行版默认不带python的?

监视剪切板干什么?没必要为这个又搞个daemon,就是说你那语音控制的,也是一样。我不喜欢太多daemon。原来弄过perlbox的,玩过一次就烦了。

btw,发现一好玩的。scim输入itime,idate。


_________________
弄个dropbox空间来备份文件或者做私人代码服务器
配置:git://github.com/roylez/dotfiles.git
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-11 10:02 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
zhan 写道:
依依的哲学就是生命在于折腾,不仅自己折腾,还会拉着别人折腾。。。
lerosua 写道:
ee尽在折腾

ee怎么不听胡主席的话啊?


_________________
关注我的blog: ε==3


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-11 10:15 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
怎么说到缺省带不带的问题了。而且这点上py肯定比不过bash/perl的啊。perlbox我去看看。

监视剪切板,是为了剩下按热键。有好处的。有想不到的好处的。

scim的,我早总结过啊。

btw: 其他说折腾的,都是不会正则和shell的。可以无视。


_________________
● 鸣学


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 匹配正则并执行的脚本
帖子发表于 : 2009-03-11 10:41 

注册: 2006-07-09 12:22
帖子: 1331
地址: 南京
送出感谢: 0 次
接收感谢: 1
代码:
#!/bin/bash

sel=`xsel -o`
if [ $sel =~ "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" ]; then
    . ~/应用/脚本/ip-show.bash
elif [ $sel =~ "^http://[^\ ]*$" ]; then
    . ~/应用/脚本/opera-open-file $sel
fi

~/应用/脚本/sdcv-notify-send.bash

搞那复杂做什么啊。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


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

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

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