Linux包括一些有用的命令时计算文本文件。这篇文章探讨的一些选项数线和文字和更改,可能会帮助你看到你想要的。
数线
数线文件是非常容易的wc命令。使用一个命令如下所示,你会得到一个快速的反应。
myfile wc - l myfile 132美元
什么wc命令实际上是计算是换行字符的数量在一个文件中。所以,如果你有一个单行的文件没有换行符结束时,它会告诉你文件有0线,
的wc - l命令也可以计算管道的线路在任何文本。在下面的示例中,wc - l计算文件和目录的数量在当前目录。
ls - l | wc - l 1184美元
如果你管文本wc命令用一个连字符作为它的参数,wc将数行,文字和字符。
美元回声你好| wc - 1 3 13
反应显示的行数(1),(3)和字符(13包括换行符)。
如果你想要得到相同的信息文件,管道的文件wc命令,如下所示。
美元猫笔记| wc - 48 613 3705 -
计算的话
只是一个单词计数,使用w选项如下面的示例所示。
wc - w美元纸币TT2 613日期| wc - w 7
计算字符
计算字符在一个文件中,使用- c选择。请记住,这将计数换行字符和字母和标点符号。
TT2 wc - c TT2 3705美元
计算特定单词的实例
计算有多少次一个特定的单词出现在一个文件就复杂得多。数多少行包含一个单词是相当容易。
猫笔记| grep美元| wc - l 32美元猫笔记| grep (Tt)他| wc - l 40
上面第二个命令项行包含“”这个词是否大写。它仍然没有告诉你多少次“的”总体来说,因为任何线包含不止一次被这个词只统计一次。
忽略标点和大写
一些词语(如“”和“”)将不止一次出现在你的单词列表。你也会看到字符串“结束”和“结束”。因为上述命令不单独的文字从标点符号。搬过去的这些问题,一些额外的命令添加到下面的例子。
删除标点符号
下面的命令包含一长串的文件传递给一个标点字符tr - d从输出命令删除他们所有人。注意,除了“字符”字符串从输出中移除。
猫punct-chars字符。美元?”!,:“{}[]():美元猫punct-chars | tr - d”[punct:]的角色
文本转换为小写
一个tr命令可以将所有字符小写,确保以大写字母开头的单词(通常因为他们开始句子)或包含所有首都不分开列出这些都出现在小写。
回声“你好”给你美元| tr [a - z]的[a - z]的喂给你
使用脚本
下面的脚本设置三套命令提取文本文件的内容,提取单词使用越来越全面的策略,以便您可以看到在每一个阶段的输出。
注意:该脚本传递最终输出的集合列命令的输出更容易。
# !/bin/bash echo - n”文件:“#单独文件读入wor-per-line格式tr - s[空白:]的[\ n]的< $ file > $ file 2 #柱状格式的单词列表排序文件2美元| uniq echo - n - c |列“下命令尝试吗?>“读ans #删除标点符号$ file 2 | tr - d ' [punct:] | uniq echo - n - c |列“下命令尝试吗?>“读ans #改变文本所有小写字母排序文件2美元| tr - d ' [punct:] | tr [a - z]的[a - z]的| uniq - c |列
下面的输出显示了你会看到如果你跑脚本对爱因斯坦报价如下:
“有两件事是无限的:宇宙和人类的愚蠢;我不确定宇宙。”― Albert Einstein
美元词词文件:爱因斯坦1 - 1人2 1对1我1 1艾伯特无限的东西:1”两个2和1宇宙不是1 1 1愚蠢;1宇宙。”1 Einstein 1 sure try next command?> y 1 ― 1 human 2 the 1 about 1 Im 1 things 1 Albert 1 infinite 1 Two 2 and 1 not 2 universe 1 are 1 stupidity 1 Einstein 1 sure try next command?> y 1 ― 1 human 2 the 1 about 1 im 1 things 1 albert 1 infinite 1 two 2 and 1 not 2 universe 1 are 1 stupidity 1 einstein 1 sure
消除的影响的一些标点符号有一个缺点,因为他们把撇号从收缩像“是”。脚本还decapitalizes专有名词。
注意字符不从爱因斯坦引用删除标点取消命令。此外,如果您的文本包括左倾和右倾的双引号,他们也不会消除。这是因为这些角色的定义不包括在“[punct:]”。
总结
Linux包括计算线路的多种方式,单词和字符在文本和修改,帮助计算单词。一些只是比其他人稍微复杂一点。