天天看點

sed與grep類似

sed -n '10'p 1.txt   //列印指定的第10行

sed -n '1,10'p 1.txt  //列印1到10行

sed -n '30,$'p 1.txt  //列印30到末尾行

sed -n '/root/'p 1.txt  //列印包含root的行

sed '/[0-9]/'d 1.txt    //删除所有包含數字的行(隻是不顯示數字行,檔案内容沒有變化)

sed '/[a-zA-Z]/'d 1.txt  //删除所有的字母行(隻是不顯示字母行,檔案内容沒有變化)

sed '1,19'd 1.txt      //删除1到19行,隻是不顯示1到19行,但實際檔案沒有變化

sed -i '1,19'd 1.txt   //删除1到19行,檔案被實際删除1到19行.

sed -r  類似于egrep=grep -E   用于有特殊符号

$-1  //倒數第一行

-i   會對實際檔案進行操作改動

a \string  在制定的行後面追加新行,内容為string

\n  可以用于換行

i \string  在制定的行前面追加新行,内容為string

r FILE  将指定的檔案的内容添加至符合條件的行處

w FILE  将位址指定的範圍内的行另存至指定的檔案中

s/// s@@@ s###  查找并替換

sed '1,10s/nologin/login/g' 1.txt   //将nologin替換成login(沒有實際更改檔案) //g 全局替換 i 忽略大小寫

sed '1,10s#/sbin/nologin#login#g' 1.txt   //替換目錄1到10行

sed 's#/sbin/nologin#login#g' 1.txt   //全局替換

sed 's#^.*$#& login#g' 1.txt    //在所有行的末尾加一個login

sed 's#[0-9]##g' 1.txt      //把所有行的數字删掉

sed 's#[a-zA-Z]##g' 1.txt    //把所有的字母删掉

sed 's#[^0-9a-zA-Z]##g' 1.txt    //删除所有非數字字母的内容

sed -r 's#(^[a-z]+) (:.*:) (.*$)#\3\2\1#g' 1.txt    //行頭第一段和行尾第一段調換

下一篇: shell數組

繼續閱讀