【第七課】Linux管道、重定向及文本處理

Linux多命令協做:管道及重定向

開源文化的核心理念之一就是不要重複發明輪子,不少開源軟件都大量使用了其餘開源軟件或功能組建,一樣,Linux中的命令也每每只實現某個特定的、單一的功能,複雜功能每每都是經過多命令協做完成的linux

管道及重定向就是Linux多命令協做的基礎機制工具

Linux的Shell對數據流進行如下分類定義: .net

stdin     標準輸入  編號爲:0   默認:鍵盤命令行

stdout   標準輸出  編號爲:1   默認:終端unix

stderr    標準錯誤  編號爲:2   默認:終端排序

重定向用來控制終端數據流:get

>        將標準輸入以覆蓋形式重定向到指定文件,如:ls > outfile開源軟件

>>      將標準輸入以追加形式重定向到指定文件,如:ls >> outfileast

<        重定向標準輸入   如:grep linuxcast < /etc/passwdclass

2>      重定向標準錯誤

2>&1   將標準錯誤合併到標準輸出中

管道「|」用以將一個命令的標準輸出做爲另外一個命令的標準輸入:

命令1  |  命令2

管道一般用來組合不一樣命令

重定向一般用來保存輸出信息

Linux命令行文本處理工具

關鍵字搜索:

grep  關鍵字  指定文件

-i   搜索時忽略大小寫

-n  顯示結果所在行

-v  顯示不包含關鍵字的行

基於列的文本處理:

cut -d: -f1 /etc/passwd

-d  指定分割字符

-f  指定顯示列

-c  基於字符順序進行列分割

文本統計:

wc linuxcast

-l   只統計行數

-w  只統計單詞書

-c   只統計字節數

-m  只統計字符數 


文本排序:

sort linuxcast

-r   倒序排序

-n   基於數字進行排序

-f   忽略大小寫

-u   刪除重複行

文本比較:

diff linuxcast-1 linuxcast-2

-i   忽略大小寫

-b  忽略空格數變化

-u  統一顯示信息(通常用於生成patch文件)

文本轉換:

tr -d "TMD" < linuxcast     刪除指定關鍵字

tr 'a-z' 'A-Z' < linuxcast    轉換大小寫

搜索替換:

sed 's/linux/unix/g' linuxcast   將全部linux關鍵字替換爲unix

相關文章
相關標籤/搜索