你須要熟練運用的12個命令行工具

摘要: 本文簡要介紹了當前較爲流行的12種對數據科學任務有價值的類Unix操做系統命令行工具:wget,cat,wc,head,tail,find,cut,uniq,awk,grep,sed,history。正則表達式

這篇文章簡要介紹了十幾種用於數據科學任務的類Unix操做系統命令行工具。這些工具並不包括通用的文件管理命令(pwd,ls,mkdir,rm,...)或遠程會話管理工具(rsh,ssh,...),而是由對數據科學比較有用的實用程序組成,一般會涉及到不一樣程度的數據檢查和處理。這些工具都包含在一個典型的類Unix操做系統中。編程

這些都是公認的初級階段所須要使用的工具,你也能夠在這個基礎上自行查找一些命令的例子。工具名稱的連接是維基百科對該工具的介紹,而不是工具手冊,在我看來,對於新手來講,維基百科要比工具手冊要更實用。ssh

1.wget

wget是一個文件檢索工具,基本用法則是遠程下載文件。編程語言

clipboard.png

2.cat

cat是對文件內容進行標準輸出。名稱來源於concatenate。用於將兩個文件組合在一塊兒(實際鏈接)、將一個文件附加到另外一個文件後、對文件行進行編號等等。編輯器

clipboard.png

3.wc

wc用於生成字數、行數、字節數與文本文件的相關內容。當選項爲空時,wc默認輸出一行,從左到右分別是:行數、字數(每一行中沒有中斷的單個字符串被計爲單個字)、字符數和文件名(多個)。工具

clipboard.png

4.head

head將文件的前n行(默認爲10)標準輸出。-n選項能夠設置顯示的行數。學習

clipboard.png

5.tail

tail用於輸出文件的尾部信息。spa

clipboard.png

6. find

find用於搜索文件系統中的特定文件。操作系統

下圖中命令的含義:從當前目錄(「.」)開始搜索以「iris」開始、任意類型字符結尾(「-name'iris *'」)、普通文件類型(「-type f「)的文件。命令行

clipboard.png

7.cut

cut用於從文件中提取文本中的一列。雖然提取出來的列可使用各類標準進行製做,但cut能夠用於從CSV文件中提取一部分數據。

下圖中命令的含義:使用逗號(「-d','」)做爲字段分隔符輸出iris.csv文件的第五列(「-f 5」)。

clipboard.png

##8.uniq

uniq檢查及刪除相同的行或列,將文本文件進行標準輸出。在命令行中構建管道時,這個命令可能會頗有用:將一個命令的輸出送到另外一個命令的輸入等。

下圖中命令的含義:列出iris數據集類名第五列重複的次數。

clipboard.png

clipboard.png

9.awk

awk實際上並非一個「命令」,而是一種完整的編程語言。用於處理和提取文本,而且能夠在命令行以單行命令調用。

掌握awk須要花費一些時間,但在此以前,這是它可以簡單完成的一個示例。考慮到咱們的示例文件iris.csv至關有限(尤爲涉及到文本多樣性時),該行調用awk,在給定文件(「iris.csv」)內搜索字符串「setosa」 ,並逐一打印到標準輸出,並打印整行(保存在$ 0變量中)。

clipboard.png

10. grep

grep是另外一種文本處理工具,用於匹配字符串和正則表達式。

clipboard.png

11. sed

sed是一個流編輯器,是另一種文本處理和轉換工具,相似於awk。下圖中命令的含義:將iris.csv文件中「setosa」更改成「iris-setosa」。

clipboard.png

12.history

history很是簡單,尤爲是在你依賴於複製使用過的命令時,這個命令特別有用。

clipboard.png

以上12個命令都是最基本的命令行工具,瞭解並熟悉其用法對你在數據科學的學習中大有用處。

文章原標題《Top 12 Essential Command Line Tools for Data Scientists》

詳細內容請查看原文

相關文章
相關標籤/搜索