歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux基本命令練習(4)

Linux基本命令練習(4)

日期:2017/3/3 13:56:28   编辑:Linux技術


參考實驗樓課程Linux命令實例練習

wc
命令

wc 命令是一個統計的工具,主要用來顯示文件所包含的行、字和字節數。
wc 命令是 word count
的縮寫。

命令格式:

wc [選項] [文件]

常用參數:

參數
描述
-c
統計字節數
-l
統計行數
-m
統計字符數,這個標志不能與 -c
標志一起使用
-w
統計字數,一個字被定義為由空白、跳格或換行字符分隔的字符串
-L
打印最長行的長度
常用示例:
wc –c c.txt統計文件的字節數(注意每行結尾的換行符也算一個字符,空格也算一個字符。另外,由於系統采用UTF-8
編碼,所以一個漢字為3
字節,9個漢字加上一個換行,一共28
個字節)

grep
命令

grep 是個很強大的命令,用來找到文件中的匹配文本,並且能夠接受正則表達式和通配符,同時可以用多個 grep
命令選項來生成各種格式的輸出。
grep 的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板後的所有字符串被看作文件名。搜索的結果被送到標准輸出,不影響原文件內容。
grep 可用於 shell
腳本,因為 grep
通過返回一個狀態值來說明搜索的狀態,如果模板搜索成功,則返回 0,如果搜索不成功,則返回 1,如果搜索的文件不存在,則返回 2。我們利用這些返回值就可進行一些自動化的文本處理工作。

命令格式:

grep [選項] pattern [file]

常用參數:

參數
描述
-c
計算找到 '搜尋字符串'(即 pattern)
的次數
-i
忽略大小寫的不同,所以大小寫視為相同
-n
輸出行號
-v
反向選擇,打印不匹配的行
-r
遞歸搜索
--color=auto
將找到的關鍵詞部分加上顏色顯示

cut
命令

cut 命令是一個將文本按列進行切分的小工具,它可以指定分隔每列的定界符。
如果一行數據包含多個字段(多列),現在想要提取其中的一列或多列,這是 cut
命令就可以大顯身手了。

命令格式:

cut [選項] [文件名]

常用參數:

參數
描述
-b
以字節為單位進行分割
-c
以字符為單位進行分割
-d
自定義分隔符,默認為制表符
-f
自定義字段
--complement
抽取整個文本行,除了那些由 -c
或 -f 選項指定的文本
常用命令:
cut -f 1,3 -d ‘ ’ student.txt 出 student.txt
文件中的第一列和第三列

paste
命令

paste 命令的功能正好與 cut
相反。它會添加一個或多個文本列到文件中,而不是從文件中抽取文本列。它通過讀取多個文件,然後把每個文件中的字段整合成單個文本流,輸入到標准輸出。

命令格式:

paste [選項] [文件名]

常用參數:

參數
描述
-s
將每個文件合並成行而不是按行粘貼
-d
自定義分隔符,默認為制表符
常用命令:
paste student.txt telphone.txt -d ‘:’ student.txt 和 telphone.txt
文件中的內容按列拼接,指定分隔符為’:’

tr
命令

tr 命令常被用來更改字符。我們可以把它看作是一種基於字符的查找和替換操作。換字是一種把字符從一個字母轉換為另一個字母的過程。tr
從標准輸入中替換、縮減和/或刪除字符,並將結果寫到標准輸出。
tr 只能通過 stdin(標准輸入),而無法通過命令行參數來接受輸入。
tr 是 translate(轉換)的縮寫。

命令格式:

tr [選項] SET1 SET2
將來自 stdin
的輸入字符從 SET1
映射到 SET2,並將其輸出寫入 stdout(標准輸出)。SET1
和 SET2
是字符類或字符集。如果兩個字符集的長度不相等,那麼 SET2
會不斷重復其最後一個字符,直到長度與 SET1
相同。如果 SET2
的長度大於 SET1,那麼在 SET2
中超出 SET1
的那部分字符則全部被忽略。

常用參數:

參數
描述
-d
刪除匹配 SET1
的內容,並不作替換

sort
命令

同文本文件打交道時,總避不開排序,那是因為對於文本處理任務而言,排序(sort)可以起到不小的作用。sort
命令能夠幫助我們對文本文件和 stdin
進行排序操作。通常,它會結合其他命令來生成所需要的輸出。

命令格式:

sort [選項] [文件名]

常用參數:

參數
描述
-n
基於字符串的長度來排序,使用此選項允許根據數字值排序,而不是字母值
-k
指定排序關鍵字
-b
默認情況下,對整行進行排序,從每行的第一個字符開始。這個選項導致 sort
程序忽略每行開頭的空格,從第一個非空白字符開始排序
-m
只合並多個輸入文件
-r
按相反順序排序,結果按照降序排列,而不是升序
-t
自定義分隔符,默認為制表符

uniq
命令

uniq 命令經常和 sort
命令結合在一起使用。uniq
從標准輸入或單個文件名參數接受數據有序列表,默認情況下,從數據列表中刪除任何重復行。
uniq 只能用於排過序的數據輸入,因此,uniq
要麼使用管道,要麼將排過序的文件作為輸入,並總是以這種方式與 sort
命令結合起來使用。
uniq 命令是 unique
的縮寫。

命令格式:

uniq [選項] [文件名]

常用參數:

參數
描述
-c
在每行前加上表示相應行目出現次數的前綴編號
-d
只輸出重復的行
-u
只顯示唯一的行
-D
顯示所有重復的行
-f
比較時跳過前 n

-i
在比較的時候不區分大小寫
-s
比較時跳過前 n
個字符
-w
對每行第 n 個字符以後的內容不作對照

join
命令

join 命令類似於 paste,它會往文件中添加列,但是它使用了獨特的方法來完成。一個 join
操作通常與關系型數據庫有關聯,在關系型數據庫中來自多個享有共同關鍵域的表格的數據結合起來,得到一個期望的結果。這個 join
命令執行相同的操作,它把來自於多個基於共享關鍵域的文件的數據結合起來。
通俗地說,就是將兩個文件中指定欄位相同的行連接起來,即按照兩個文件中共同擁有的某一列,將對應的行拼接成一行。

命令格式:

join [選項]
文件 1 文件 2

常用參數:

參數
描述
-j FIELD
等同於 -1 FIELD -2 FIELD,-j
指定一個域作為匹配字段
-1 FIELD
以 file1
中 FIELD 字段進行匹配
-2 FIELD
以 file2
中 FIELD 字段進行匹配
-t
自定義分隔符,默認為制表符
Copyright © Linux教程網 All Rights Reserved