统计文本文件信息(Calculating Text File Statistics)

翻译 2007年09月24日 19:16:00

 如下翻译来自微软TechNet脚本中心: http://www.microsoft.com/technet/scriptcenter/resources/pstips/aug07/pstip0824.mspx

译者: Edengundam(马涛)
 
统计文本文件信息(Calculating Text File Statistics)
 
如果你看了 ‘嘿, 脚本专家’ 的 归档 (大多数人认为这是出版在TechNet上不错,且每天更新的专栏) 你将会突然意识到:人们经常一遍一遍的统计文本文件的信息. 这类统计大都是, 我的文件有几行, 我的文件有多少个单词, 我的文件有多少个字符, 等等. 出于各种各样的原因, 只是简单的有一个文本是远远不够的; 人们需要知道文本文件的所有信息.
计算文本文件的统计信息在VBScript中相对比较容易(提示下, 虽然有点古怪, 但还算是容易). 这导致了一个明显的问题: 使用Windows PowerShell计算文本文件的统计信息有多简单? 让我们自己调查下吧.
开始前, 假设我们有一个名叫C:/Scripts/Alice.txt的文本文件, 文件中包含了如下的信息:
Curiouser and curiouser!' cried Alice (she was so much surprised, that for the moment 
she quite forgot how to speak good English); 'now I'm opening out like the largest 
telescope that ever was! Good-bye, feet!' (for when she looked down at her feet, they 
seemed to be almost out of sight, they were getting so far off). 'Oh, my poor little 
feet, I wonder who will put on your shoes and stockings for you now, dears? I'm sure 
_I_ shan't be able! I shall be a great deal too far off to trouble myself about you: 
you must manage the best way you can; --but I must be kind to them,' thought Alice, 
'or perhaps they won't walk the way I want to go! Let me see: I'll give them a new 
pair of boots every Christmas.'
我们很想知道文件中有多少个单词, 文件包含几行, 以及文件中的字符数量. 要做到这个有多难? 事实证明, 根本就不难:
Get-Content c:/scripts/alice.txt | Measure-Object –word –line -character
确实, 我们没有遗漏任何内容: 这么一行简单的代码返回了关于文本的所有有用信息. 为了取得这些信息我们简单的使用Get-Content cmdlet从文件C:/Scripts/Alice.txt中读取所有内容. 然而, 我们选择将结果, 通过管道传递给Measure-Object cmdlet, 而不是将这些信息显示在屏幕上(Get-Content的默认行为). 正如同名字所暗示的一样, Measure-Object被设计为“测量”属性值; 例如, 对于一组数值, Measure-Object能够计算这些数字的和以及平均值, 也能报告这组数字中的最大值和最小值. (你说你想看看它们的例子? 没问题;  这篇文章 就是你所需要的. )
当然, 我们没有将一组数值传递给Measure-Object. 取而代之的是, 我们传递了一个文本文件的内容; 这也是为什么我们是用了形参 –word (显示文件中的单词数); -line (显示文件中的行数); 以及 –character (显示文件中的字符串). 作为结果, 这里给出Measure-Object的输出:
Lines                         Words                    Characters Property
-----                         -----                    ---------- --------
1                           137                           708
非常棒吧, 是不是?
这里还有一个你可能会发现非常有用的参数: -ignorewhitespace. 默认情况下, Measure-Object把文件中的空白字符也算在字符数中. 某些时候这是我们希望的; 然而, 其他一些时候, 你希望能够忽略空白字符. 你想忽略空白字符嘛? 很好; 只需要在你的命令最后附加形参 –ignorewhitespace, 类似这样:
Get-Content c:/scripts/alice.txt | Measure-Object –word –line –character -ignorewhitespace
现在看看文件中被找到的字符数量:
Lines                         Words                    Characters Property
-----                         -----                    ---------- --------
     1                           137                           572
明显不一样了.
偶尔, 你不仅仅局限于统计文本文件的信息; Measure-Object能够对变量进行一样的操作. 例如, 假设我们将一些文本信息赋值给名叫$a的变量:
$a = "This is a two-line value `n stored in a variable."
$a中包含了多少个单词, 多少行, 多少个字符? 好的, 让我们试试下面的命令来自己亲自看看:
$a | Measure-Object –word –line -character
根据Measure-Object计算, 结果如下:
Lines                         Words                    Characters Property
-----                         -----                    ---------- --------
    2                             9                            48
人们认为统计工作很难. 它们并不难, 至少当你有了Windows PowerShell它不难.
 

使用索引统计信息(Index Statistics)优化查询语句,提高查询效率

如果你查询优化统计还没有太多的认识和了解,那么建议你从头开始看,如果你已经很了解,那么可以直接跳到下面去看本文的重点了。 什么是查询优化统计信息? 查询优化的统计信息是一些对象,这...
  • Beirut
  • Beirut
  • 2013年04月03日 17:52
  • 5769

[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)

关键字:Hive统计信息、分析Hive表、Hive Statistics 类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信...
  • thy822
  • thy822
  • 2017年05月17日 18:49
  • 296

Oracle 10g 统计信息自动收集功能(automatic statistics gathering)学习总结 .

http://space.itpub.net/35489/viewspace-608036 1、什么是STATISTICS:优化统计信息是为了更详细的描述数据库及数据库对象而收集的数据,这些信息...

[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)

类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。 表和分区的统计信息主要包括:行数、文件数、原始数据大小...
  • achuo
  • achuo
  • 2016年05月06日 10:40
  • 797

SQL统计信息(statistics)

DBCC SHOW_STATISTICS(tablename,INDEX OR STATISTICS name) 2 3 DBCC SHOW_STATISTICS([SalesOrderHeader...

ORACLE DBMS_STATS统计信息 11g新特性:Pending Statistics

从11g开始,表与索引的统计信息收集完毕后,可以选择收集的统信息立即发布,也可以选择使新收集的统计信息处于pending状态,待确定处于pending状态的统计信息是安全的,再使处于pending状态...
  • fjseryi
  • fjseryi
  • 2016年04月15日 08:39
  • 339

DB2数据库查询过程(Query Processing)----统计信息与过滤因子(Statistics and Filter Factors)

关于统计信息和过滤因子在《DB2数据库查询过程(Query Processing)----概述》一文中已经作了大致介绍。本文再详细讨论一下。 过滤因子(Filter Factor) 过滤因子是...
  • idber
  • idber
  • 2012年11月14日 14:54
  • 2664

gather_plan_statistics提示的使用,获取详细的执行统计信息

SQL> set linesize 150SQL> set pagesize 2000SQL> set autotrace traceonly expSQL> select avg(SALARY),D...
  • lg2512
  • lg2512
  • 2011年06月10日 10:36
  • 1590

等待事件统计信息--Wait Events Statistics

视图v$session,v$session_wait,v$session_wait_history,v$session_event,v$system_event提供了等待哪些资源以及每种资源等待的时间...

Oracle 11g新特性:多列统计信息(MultiColumn Statistics)

当where子句后指定了一个表的多个列条件时,优化器通常会将多个列的选择性(selectivity)相乘得到where语句的选择性,导致优化器做出错误判断! Oracle 11g引入了多...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:统计文本文件信息(Calculating Text File Statistics)
举报原因:
原因补充:

(最多只允许输入30个字)