问题1:
用seq命令可以产生数字序列,譬如,seq 1 10;则可得到1~10的数字序列;
故,是否存在类似的命令,可以产生从a~z的字符序列;
问题2:
该问题可能比较菜,通过
grep -e 'a\{2\}' urfile
可以得到urfile中,存在两个连续 a的字符串;
故,是否存在一种通配模式,将两个以上连续相同字母的字符串全给匹配出来?
求助:自动产生字符数组(已解)
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
求助:自动产生字符数组(已解)
上次由 halfwolf 在 2012-03-15 14:44,总共编辑 1 次。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 求助:自动产生字符数组
-
- 帖子: 34
- 注册时间: 2007-08-10 22:30
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 求助:自动产生字符数组
原来 zsh 需要 setopt BRACE_CCL http://stackoverflow.com/questions/2394 ... -lists-howubuntu_vivi 写了:1. 可以用大括号展开代码: 全选
echo {a..z} echo {A..Z} echo {b..h} echo {1..9}
- Think1st
- 帖子: 45
- 注册时间: 2012-02-07 23:08
Re: 求助:自动产生字符数组
ubuntu_vivi 写了:1. 可以用大括号展开代码: 全选
echo {a..z} echo {A..Z} echo {b..h} echo {1..9}

在这里,问题比答案更抢手。
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
Re: 求助:自动产生字符数组
谢谢诸位!
最近忙,很长时间没上论坛了,呵呵!
ubuntu_vivi乃神人也,谢谢你的{a..z}和grep -i --color=auto -E ,I super like it!
谢谢fnan ,又学了不少正则表达式方面的知识,顺便卖弄一下,呵呵
Example.1
-----------------------------------------------------------------
grep -E '(a)\1' input.txt
等价于
grep '\(a\)\1' input.txt
-E 正则表达
(a) 匹配 a,且该匹配被保存为标签1,即\1;
既有(a),又有\1,就是匹配两次咯
Example.2
-----------------------------------------------------------------
grep -E '(a)\1+' input.txt
+匹配一个或多个加号前的字符(注:非字符串).
故,该表达式匹配两次以上的a咯
Example.3
-----------------------------------------------------------------
grep -oE '(a)\1+' input.txt
-o only,只输出匹配内容,非将正行输出
故,输出一大堆a咯
Example.4
-----------------------------------------------------------------
grep -E '([a-zA-Z])\1+' input.txt
[] 匹配[]中的任一个
[a-zA-Z] 匹配a-z或A-Z中的任一个
故,输出包含两个以上连续相同字母的行
Example.5
-----------------------------------------------------------------
grep -i --color=auto -E '([a-z])\1' input.txt
-i 比较时忽略大小写
--color=auto 给匹配项填加颜色
最近忙,很长时间没上论坛了,呵呵!
ubuntu_vivi乃神人也,谢谢你的{a..z}和grep -i --color=auto -E ,I super like it!
谢谢fnan ,又学了不少正则表达式方面的知识,顺便卖弄一下,呵呵
Example.1
-----------------------------------------------------------------
grep -E '(a)\1' input.txt
等价于
grep '\(a\)\1' input.txt
-E 正则表达
(a) 匹配 a,且该匹配被保存为标签1,即\1;
既有(a),又有\1,就是匹配两次咯
Example.2
-----------------------------------------------------------------
grep -E '(a)\1+' input.txt
+匹配一个或多个加号前的字符(注:非字符串).
故,该表达式匹配两次以上的a咯
Example.3
-----------------------------------------------------------------
grep -oE '(a)\1+' input.txt
-o only,只输出匹配内容,非将正行输出
故,输出一大堆a咯
Example.4
-----------------------------------------------------------------
grep -E '([a-zA-Z])\1+' input.txt
[] 匹配[]中的任一个
[a-zA-Z] 匹配a-z或A-Z中的任一个
故,输出包含两个以上连续相同字母的行
Example.5
-----------------------------------------------------------------
grep -i --color=auto -E '([a-z])\1' input.txt
-i 比较时忽略大小写
--color=auto 给匹配项填加颜色