Chinaunix
标题:
脚本求助!统计一个字符串中字符在另一个字符串中出现情况
[打印本页]
作者:
breeze7086
时间:
2010-11-10 14:29
标题:
脚本求助!统计一个字符串中字符在另一个字符串中出现情况
假设有两个字符串A,B都为4位
现在,我每次取B的一个字符,在A中查询,如果存在的话,无论其字符在什么位置就将变量var增1
然后,取B的第二个字符,再次在A中查询,存在的话则var继续增1
现在的问题是,这种情况A=1000,B=1100,那么运算出来,var就变为了2,但我需要的是var为1,因为B中的字符“1”在A中出现,但A中只有1个,第二次匹配到的时候应该忽略
请教各位,应该如何解决啊
先谢谢了
作者:
好看的附件
时间:
2010-11-10 15:46
回复
1#
breeze7086
比较笨的方法:
数据放到2个文件中
awk 'BEGIN{FS=OFS=""}NR==FNR{for(i=1;i<=NF;i++)a[$i]++;next}{for(j=1;j<=NF;j++){if($j in a){var++;if(--a[$j]==0)delete a[$j]}}}END{print var}' file1 file2
作者:
waker
时间:
2010-11-11 10:01
本帖最后由 waker 于 2010-11-11 10:02 编辑
如果B里面没re中的特殊字符
A=XXOO B=OOXX
B="[$B]"
echo "$A"|grep -o "$B"|sort|uniq -c
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2