sed是一款流編輯工具,用來對文本進行過濾與替換工做,sed經過輸入讀取的文件內容,但一次僅讀取一行內容進行某些指令處理後輸出,sed更適合處理大數據文件。
具體請百度,就不一一粘貼了
sed在處理文本文件的時候,會在內存上建立一個模式空間,而後把這個文件的每一行調入模式永健用相應的命令處理,而後sed使用指令對行進行操做,操做完成以後看看sed中有沒有-n參數,沒有-n,sed會將行輸出到stdout,而後在將第二行讀入,而後執行指令進行處理,而後看看有沒有-n,沒有輸出到stdout,直到最後。正則表達式
sed的基本語法: sed [選項] 「命令」 文件 sed [選項] -f 腳本文件 文件
文本的操做:vim
sed是一個「非交互式的」面向字符流的編輯器,awk是一種負責模式匹配的程序設計語言,它的典型示例是將數據轉換成格式化的報表。
sed和vim同樣是編輯器,sed是非交互式的,經過參數完成不一樣的操做,vim是交互式的,vim須要通知處理文件的那幾行纔回去處理,sed默認
會處理文件的全部行,除非你告訴他不處理那幾行。
sed最主要的功能就是替換。拿到文件,文件不符合你的要求把內容作替換,文件格式不符合要求,能夠匹配格式作替換
sed [選項] '[尋址]s/模式/替換/[標誌]'編輯器
sed的相關簡單操做能夠看以前寫的一篇文章或者自行百度。不作詳細操做工具
使用正則表達式匹配模式 元字符 . 匹配除換行符以外的任意單個字符,awk中能夠匹配換行符 * 匹配任意一個(包括0個)在它前面的字符 [...] 匹配方括號中的任意一個字符,^爲否認匹配,-表示字符的範圍 ^ 做爲正則表達式的第一個字符,匹配行的開始,在awk中能夠匹配換行符 $ 做爲正則表達式的最後一個字符,匹配行的結尾,在awk中能夠匹配換行符 \{n,m\} 匹配出現的n到m次,\{n\}匹配出現n次,\{n,\} 匹配至少出現n次 \ 轉義字符 擴展元字符(sed要使用擴展元字符須要使用-r) + 匹配前面的正則表達式的一次出現或者屢次出現 ? 匹配前面的正則表達式的零次出現或者一次出現 | 能夠匹配前邊或者後邊的正則表達式 () 對正則表達式進行分組 {n,m}匹配出現的n到m次數,{n}匹配出現n次,{n,}匹配至少出現n次
sed須要使用單引號,大數據
具體用法百度。。spa
標誌flags: g 全局更改 n 能夠是1-512,表示第n次出現的狀況進行替換 p 打印模式空間的內容 w file寫入到另外一個文件file中 & 用正則表達式匹配的內容進行替換 \n 回調參數
具體案例百度,時間不夠,以後抽空都會加上。設計
sed高級指令 sed只有一段內存空間叫模式空間,但有的時候可能要作一些保存。 好比:處理第一行第二行第三行,但有時候但願處理完第二行回到第一行去處理,這種狀況下基本的sed是作不到的,此時須要高級操做 高級指令只作瞭解 1.比普通命令用的少 2.全部的命令均可以使用awk去替代 高級指令分三個組: 1.處理多汗模式空間(N,D,P) 2.採用保持空間來保存模式空間的內容並使他客用戶後續的命令(H,h,G,g,x) 3.編寫使用分支和條件的指令腳原本更改控制流
我有PDF文檔,若是有須要的能夠留言,我百度雲分享code