linux管道命令是“|”,其作用是用來連接多條指令,前一條指令的輸出流會作為后一條指令的操作對象,其命令格式為“指令1 | 指令2 | …”,該命令的后一條指令,必須能夠接收標準輸入流命令才能執行。管道命令只能處理前一條指令的正確輸出,不能處理錯誤輸出;管道命令的后一條指令,必須能夠接收標準輸入流命令才能執行。
本教程操作環境:linux7.3系統、Dell G3電腦。
什么是Linux 管道命令?
1、Linux管道命令是? “ | ”,其作用是用來連接多條指令,前一條指令的輸出流會作為后一條指令的操作對象,其命令格式為“指令1 | 指令2 | …”,該命令的后一條指令,必須能夠接收標準輸入流命令才能執行。
2、管道命令的操作符是:”|”,它只能處理由前面一條指令傳出的正確輸出信息,對錯誤信息是沒有直接處理能力的。然后,傳遞給下一條指令,作為操作對象。
基本格式:指令1 | 指令2 | …
【提醒注意】:
? ? ? ? 1、管道命令只能處理前一條指令的正確輸出,不能處理錯誤輸出;
? ? ? ? 2、管道命令的后一條指令,必須能夠接收標準輸入流命令才能執行。
Cut—?根據條件 從命令結果中 提取 對應內容
第一步: 截取出指定文件中 前2行 的 第5個字符
命令 | 含義 |
---|---|
cut 動作 文件 | 從指定文件截取內容 |
參數 | 英文 | 含義 |
---|---|---|
-c | characters | 按字符選取內容 |
命令: ? head -2 文件名 | cut -c 5 ?
第二步: 截取出指定文件中前2行以”:”進行分割的第1,2段內容
參數 ? ?
|
英文 ? ?
|
含義 ? ?
|
---|---|---|
-d ‘分隔符’ |
delimiter ? ?
|
指定分隔符 ? ?
|
-f n1,n2 |
fifields ? ?
|
分割以后顯示第幾段內容, 使用 , 分割 |
范圍控制 | 含義 |
---|---|
n | 只顯示第 n 項? |
n- | 顯示從第 n 項 一直到行尾 |
n-m | 顯示從第n 項 到m 項(包括m) |
命令:
head -2 文件名 | cut -d ‘:’ -f 1,2
或者
head -2 文件名 | cut -d ‘:’ -f 1-2
?第三步: 截取出指定文件中前2行以”:”進行分割的第1,2,3段內容
命令:
head -2 文件名 | cut -d ‘:’ -f 1,2,3
或者
head -2 文件名 | cut -d ‘:’ -f 1-3
sort—可針對文本文件的內容,以行為單位來排序
第一步: 對字符串排序
命令: sort 文件名
第二步: 去重排序
- ?它的作用很簡單,就是在輸出行中去除重復行。
參數 | 英文 | 含義 |
---|---|---|
-u | unique | 去除重復的 |
命令:sort -u 文件名
第三步: 對數值排序
參數 | 英文 | 含義 |
---|---|---|
-n | numeric-sort | 按照數值大小排序 |
-r | reverse | 使次數顛倒 |
- 命令
默認按照 字符串 排序 :? sort 文件名
升序:sort -n 文件名
降序:sort -n -r 文件名
合并式:sort -nr 文件名? ?—> 效果和降序一樣
?第四步: 對成績排序
參數 | 英文 | 含義 |
---|---|---|
-t |
fifield-separator ? ?
|
指定字段分隔符 |
-k | key | 根據一列排序 |
# ?根據第二段成績 進行倒序顯示 所有內容?sort -t ‘ ‘ -k2nr ?文件名注意: ?‘? ?? ?‘? ?中 ?有一個空格
wc命令—?顯示/統計 指定文件 字節數, 單詞數, 行數 信息
第一步: 顯示指定文件 字節數, 單詞數, 行數 信息.
命令 | 含義 |
---|---|
wc 文件名 | 顯示 行數、單詞數、字節數、指定文件信息 |
命令:wc 文件名
第二步: 只顯示 文件 的行數
參數 | 英文 | 含義 |
---|---|---|
-c | bytes | 字節數 |
-w | words | 單詞數 |
-l | lines |
行數 |
命令:
wc -l 文件名? ? ?—–> 行數
wc -c 文件名? ? ?—–> 字節數
wc -w 文件名? ? ?—–> 單詞數
第三步: 統計多個文件的 行數 單詞數 字節數
命令:wc 文件1 文件2 文件3 文件4
例:wc 1.txt 2.txt 3.txt 4.txt
或者:
命令:wc *.txt
第四步: 查看 /etc 目錄下 有多少個 子內容
命令:ls /etc | wc -l
uniq—?用于檢查及刪除文本文件中重復出現的行【去重】
- 一般與 sort 命令結合使用。
第一步:實現去重效果
命令 | 英文 | 含義 |
---|---|---|
uniq [參數] 文件 | unique 唯一 | 去除重復行 |
命令:cat 文件名 | sort | uniq? ? ? ? ?—》根據字符串排序并去重
第二步:不但去重,還要統計出現的次數
參數 | 英文 | 含義 |
---|---|---|
-c | count | 統計每行內容出現的次數 |
命令:cat 文件名 | sort | uniq? -c
tee —?將命令結果 通過管道 輸出?到 多個文件?中
命令 | 含義 |
---|---|
命令結果 | tee 文件1 文件2 文件3 |
通過 ? ? tee ? ? 可以將命令結果 ? ? 通過管道 ? ? 輸出到 ? ? 多個文件 ? ? 中 ? ?
|
- 將去重統計的結果 放到 a.txt、b.txt、c.txt 文件中
命令:cat 去重文件名 | sort | uniq? -c | tee a.txt b.txt c.txt
tr —用于 替換 或 刪除 文件中的字符
第一步: 實現 替換效果
命令 | 英文 |
含義 |
---|---|---|
命令結果 | tr 被替換的字符 新字符 | translate | 實現替換的效果 |
# ?將 小寫 ?he ?替換成 大寫 HEecho “helloworld” | tr ‘he’ ”HE# ?把 ?helloworld ?的轉換為大寫echo “helloworld” | tr ‘[a-z]’ ‘A-Z’# ?把 ?HELLO ?轉成 小寫echo “HELLO” | tr ‘A-Z’ ‘a-z’
第二步: 實現刪除效果
命令 | 英文 | 含義 |
---|---|---|
命令結果 ? ? | tr -d ? ? 被刪除的字符 ? ?
|
delete ? ?
|
刪除指定的字符 ? ?
|
# 刪除 ?abc1d4e5f ?中的數字echo ‘abc1d4ee5f’ | tr -d ‘[0-9]’
第三步: 單詞計數
# ?統計每個單詞出現的次數示例數據:[root@node001 opt] ?# cat words.txthello,world,hadoop ?hive,sqoop,flume,hello ?kitty,tom,jerry,world ?hadoop ?實現步驟:1 ? 、將分隔符 ? “,” ? 替換成 換行符 ?2 ? 、 排序 ?3 ? 、去重 ?4 ? 、計數 ?# 命令 ?cat words.txt |tr ‘,’ ‘n’|sort |uniq -c ?
- 通過 tr [選項] 字符1 字符2 可以 實現 替換 和 刪除 效果
相關推薦:《Linux視頻教程》