微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 如何用TCL实现统计文件中某字符串的个数

如何用TCL实现统计文件中某字符串的个数

时间:10-02 整理:3721RD 点击:
如何用TCL实现统计文件中某字符串的个数

这个应该很简单的, 平时用的是perl 没怎么用tcl

请问perl 怎么实现?

prel怎么实现呢 ?》

具体思路如下:
1>打开文件
2>文件的每一行为数组里面的一个元素。比如文件有20行, 每一行就是一个数组元素。
3>打印输入的文件每一行// 这个可有可不有
4>去掉行尾的换行符 // 行尾巴有可能有换行符
5>以空格符划分行里面的每一个字符串,赋予设定的数组。如果一行里面有10个字符串,那么这个数组里面就有10个元素, 比如 what is you name ? 以空格符划分就是有5个元素,
6>设定一个变量,然后统计5里面数组是否匹配你需要统计的字符串,自动加1,在5里面是以空格符作为分隔符的,有可能你需要统计的字符串右面跟有标点符号, 这个你需要匹配符号, 比如 what is you name? 你需要统计 name 这个字符串,这个时候name? 也算一个,你就需要name+匹配符号。
大体的思路就是这样
open(IN,"<文件名”);//打开文件
@line = <IN>; //文件的行输入
chomp($line);// 去除输入的文件行尾的换行符
$num =0; //起始行
while($num<=xx) { // 文件的行数-1
print “@line[$num]”;//打印文件的每一行
@array = split(" ",@line[$num]);//以空格为分隔符赋予array 数组
for(i==0;i<=xxx;i +=1) { //设置变量i,i的最大值为行的最大字符数,这个值你可以设大点
......... // 判断每个字符串是否是你需要统计的字符串,

grep -c 不就可以了?哪有那么复杂额~

用shell应该不难解决

当然如楼上所说 grep 也能实现需要的功能,如果你只需要做一次,用grep 肯定来得比写脚本来的快, 如果需要多次的统计, 我想还是脚本来的快点,写一次就一劳永逸了。

谢谢,受教了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top