摘要: 本文简要介绍了当前较为流行的12种对数据科学任务有价值的类Unix操做系统命令行工具:wget,cat,wc,head,tail,find,cut,uniq,awk,grep,sed,history。正则表达式
这篇文章简要介绍了十几种用于数据科学任务的类Unix操做系统命令行工具。这些工具并不包括通用的文件管理命令(pwd,ls,mkdir,rm,...)或远程会话管理工具(rsh,ssh,...),而是由对数据科学比较有用的实用程序组成,一般会涉及到不一样程度的数据检查和处理。这些工具都包含在一个典型的类Unix操做系统中。编程
这些都是公认的初级阶段所须要使用的工具,你也能够在这个基础上自行查找一些命令的例子。工具名称的连接是维基百科对该工具的介绍,而不是工具手册,在我看来,对于新手来讲,维基百科要比工具手册要更实用。ssh
wget是一个文件检索工具,基本用法则是远程下载文件。编程语言
cat是对文件内容进行标准输出。名称来源于concatenate。用于将两个文件组合在一块儿(实际链接)、将一个文件附加到另外一个文件后、对文件行进行编号等等。编辑器
wc用于生成字数、行数、字节数与文本文件的相关内容。当选项为空时,wc默认输出一行,从左到右分别是:行数、字数(每一行中没有中断的单个字符串被计为单个字)、字符数和文件名(多个)。工具
head将文件的前n行(默认为10)标准输出。-n选项能够设置显示的行数。学习
tail用于输出文件的尾部信息。spa
find用于搜索文件系统中的特定文件。操作系统
下图中命令的含义:从当前目录(“.”)开始搜索以“iris”开始、任意类型字符结尾(“-name'iris *'”)、普通文件类型(“-type f“)的文件。命令行
cut用于从文件中提取文本中的一列。虽然提取出来的列可使用各类标准进行制做,但cut能够用于从CSV文件中提取一部分数据。
下图中命令的含义:使用逗号(“-d','”)做为字段分隔符输出iris.csv文件的第五列(“-f 5”)。
##8.uniq
uniq检查及删除相同的行或列,将文本文件进行标准输出。在命令行中构建管道时,这个命令可能会颇有用:将一个命令的输出送到另外一个命令的输入等。
下图中命令的含义:列出iris数据集类名第五列重复的次数。
awk实际上并非一个“命令”,而是一种完整的编程语言。用于处理和提取文本,而且能够在命令行以单行命令调用。
掌握awk须要花费一些时间,但在此以前,这是它可以简单完成的一个示例。考虑到咱们的示例文件iris.csv至关有限(尤为涉及到文本多样性时),该行调用awk,在给定文件(“iris.csv”)内搜索字符串“setosa” ,并逐一打印到标准输出,并打印整行(保存在$ 0变量中)。
grep是另外一种文本处理工具,用于匹配字符串和正则表达式。
sed是一个流编辑器,是另一种文本处理和转换工具,相似于awk。下图中命令的含义:将iris.csv文件中“setosa”更改成“iris-setosa”。
history很是简单,尤为是在你依赖于复制使用过的命令时,这个命令特别有用。
以上12个命令都是最基本的命令行工具,了解并熟悉其用法对你在数据科学的学习中大有用处。
文章原标题《Top 12 Essential Command Line Tools for Data Scientists》
详细内容请查看原文。