管道命令大全

2021-09-28 16:22:05 字數 3541 閱讀 9852

cut 根據條件 提前對應內容

cut 引數 檔案 獲取指定檔案中指定內容

cut -c n 獲取第n個字元的列 和head配合使用效果更好

例 獲取1.txt檔案中前三行的第六個字元列

head -3 1.txt |cut -c 6

-d 分割符

-f a 分割以後顯示第a段的內容

-f a- 分割以後顯示第a段到行尾的內容

-f a,b 分割以後顯示第a段和第b段的內容

-f a-b 分割以後顯示第a段到第b段的內容

例擷取1.txt檔案中前3行以空格進行分割的第一段和第二段內容

head -3 1.txt|cut -b ' ' -f 1,2

小結:

cut 就是根據條件提取你要的內容

-c 獲取字元列內容

-d 分割檔案

-f分割後使用顯示指定內容

sort不加引數就是字典序  按照列排的  先排出第一列 

然後在排出第二列如此迴圈。

比如 10 ,11 ,1 ,6 ,9 它會排成 1 ,10,11,6,9

一般用於對字串進行排序

如果我們要對數值進行排序就需要用到 -n這個引數了

sort -n 按照數值大小排序

sort -n -r 倒序

sort -u 去除重複內容

我們還可以指定列排序 一般用於成績排序

(sort -t 『分隔符』 用來分割內容的)

以下是a.txt的內容

姓名 語 數 英

zhangsan 68 99 26

lisiguan 98 66 96

wangwuan 38 33 86

例 獲取語文成績的排序

sort -t ' ' - k2nf a.txt

小結 :

sort就是針對文字檔案的內容,以行為單位來排序

sort -n 按照數值大小排序

sort -n -r 倒序

sort -u 去除重複內容

wc	顯示指定檔案 位元組數, 單詞數, 行數 資訊     	

wc -c 顯示位元組數

wc -w 顯示單詞數

wc -l 顯示行數

wc 還可以組合使用

例:檢視/etc目錄下有多少子內容

ls /etc |wc -w

uniq 命令用於檢查及刪除文字檔案中重複出現的行,

uniq要與 sort 命令結合使用。

uniq -c 統計每行內容出現的次數

tee 可以把命令結果 放到多個檔案中

例 把a.txt的去重結果 放到 a.txt b.txt c.txt檔案中

cat a.txt |sort|uniq -c | tee a.txt b.txt c.txt

小結 :

通過tee可以將命令結果通過管道輸出到多個檔案

tr 用於替換 刪除

替換例 把a.txt 檔案中的小寫字母替換成大寫字母

cat a.txt |tr 『[a-z]』 '[a-z]'

刪除例 把a.txt檔案中的數字刪除

cat a.txt|tr -d 『[0-9]』

split 將大檔案切成多個小檔案

按10位元組切分 (系統會給小檔案自動命名 規則是xaa xab ... xba xbb ...)

split -b 10 k 檔名 (得到若干份10kb的小檔案)

按行數切分 (命名規則同上)

split -l 10 檔名 (得到若干份10行的小檔案)

awk實現 模糊查詢,按需提取字段,還可以進行 判斷和簡單的運算等.

awk 『/zhangsan|lisi/』 score.txt 查詢a.txt中zhangsan和lisi的成績

(操作a.txt檔案 根據逗號分割 列印第一段第二段 第三段)

awk -f 『 ,』 』 a.txt

(操作1.txt檔案, 根據 逗號 分割,列印 第一段 第二段 第三段 內容,

內容中間用===隔開)

awk -f 『』 『』 1.txt

if語句 查詢及格的學生資訊

如果及格,就顯示 $1, $4

awk -f ',' '' score.txt

顯示 姓名, $4, 是否及格

awk -f ',' '' score.txt

引數

含義-f 『,』

使用指定字元分割

$ + 數字

獲取第幾段的內容

$0獲取當前行內容

nf表示當前行共有多少個字段

$nf代表 最後乙個字段

$(nf-1)

代表 倒數第二個字段

nr代表 處理的是第幾行

if($0 ~ 「aa」) print $0

如果這一行包含 「aa」, 就列印這一行內容

if($1 ~ 「aa」) print $0

如果第一段 包含 「aa」, 就列印這一行內容

if($1 == 「lisi」) print $0

如果第一段 等於 「lisi」, 就列印這一行內容 函式

含義toupper()

字元 轉成 大寫

tolower()

字元 轉成小寫

length()

返回 字元長度

求平均分

awk -f 『,』 『begin{}end』 score.txt

引數含義p列印

$代表 最後一行

-n僅顯示處理後的結果

-e根據表示式 進行處理

d刪除指定內容

i目標前面插入內容

a目標前面插入內容

s/老名稱/新名稱/

替換2c 新字串

使用新字串 替換 選中的行

-i替換原有檔案內容

sed 對目標檔案進行過濾查詢或替換

sed 可選項 目標檔案

列出 1.txt的 1~5行 的資料

sed -n -e '1,5p' 1.txt

列出01.txt的所有資料 且 顯示行號

sed -n -e '1,$=' -e '1,$p' 1.txt

查詢01.txt中包含root行

sed -n -e '/root/p' 1.txt

查詢出1.txt中 字母`r`後面是多個t的行,並顯示行號

sed -nr -e '/r+t/p' -e '/r+t/=' 01.txt

刪除01.txt中前3行資料,並顯示行號

n1 01.txt |sed -e '1.3d'

Linux管道命令及管道相關命令 詳細

4.sort 排序 5.wc 命令 5.3 小結 6.uniq 去重 6.3 小結 7.tee命令 7.3 小結 8.tr 命令 這可不是html的 行哦 9.split 命令 9.3 小結 命令a 命令b 命令a的輸出當做命令b的輸入 管道是一種通訊機制,通常用於程序間的通訊 也可通過socket...

mysql 命令大全 Mysql 命令大全

輸入mysql進入,如同輸入cmd模式 1 使用show語句找出在伺服器上當前存在什麼資料庫.mysql show databases 2 建立乙個資料庫mysqldata mysql create database mysqldata.3 選擇你所建立的資料庫 mysql use mysqldat...

linux 管道命令

linux的命令列方式有著強大的功能,對於熟練的linux系統管理員來說,往往只需要通過各種技巧,組合構成一條複雜的命令,從而完成使用者任務。那麼一條複雜的linux命令怎樣構成呢?下面來介紹幾個技巧。利用輸入 輸出重定向 在linux命令列模式中,如果命令所需的輸出不是來自鍵盤,而是來自指定的檔案...