對一個文件,1至5行刪除帶有英文的行,6至10行刪除裏面的英文字符;shell
這種要求,用sed命令就能夠解決了,主要用到匹配替換的知識。bash
#!/bin/bash sed -n '1,5p' a.txt | sed '/[a-zA-Z]/d' sed -n '6,10p' a.txt | sed 's/[a-zA-Z]//g' sed -n '11,$p' a.txt
前兩個要求,必須使用行號匹配。主要sed是一個流編輯處理器,它是一行一行地接收輸入數據,而後再處理。ide
-n 和 -p 選項配合使用,就是隻輸出匹配的內容。因此,在前兩行命令的意思就至關於,匹配到對應的行後,只處理這些行,而後經過管道,把它們傳給後邊的sed命令處理。code
第三行的sed命令,就是把不用處理的文本都直接輸出屏幕。這樣,在屏幕上看來,就至關於完整地處理了整個文本的內容了。it