sed编辑举例

cat passwd
sed编辑举例_第1张图片
Paste_Image.png
sed 'p' passwd
sed编辑举例_第2张图片
Paste_Image.png
sed '2p' passwd
sed编辑举例_第3张图片
Paste_Image.png
sed -n '2p' passwd  只打印第二行
Paste_Image.png
sed -n '1,4p' passwd  只打印1-4行
Paste_Image.png
sed -n '/root/p' passwd  只打印匹配到/pattern/的行
var=root;sed -n "/$var/p" passwd
var=root;sed -n "/.*$var.*/p" passwd
sed -n "/`whoami`/p" passwd
sed -n '/'$(whoami)'/p' passwd
sed编辑举例_第4张图片
Paste_Image.png
sed -n '2,/root/p' passwd
sed编辑举例_第5张图片
Paste_Image.png
sed '=' passwd  显示行号
sed编辑举例_第6张图片
Paste_Image.png
sed -n '/^$/=' passwd  只显示空行行号
sed -n '/^r/=' passwd  只显示以“r”开头的行号
sed -n '/.*root.*/=' passwd
sed -n '/root/=' passwd  查询某个单词在文件的第几行

Paste_Image.png
Paste_Image.png
sed -n -e '/^$/='  -e '/^$/p' passwd  只显示空行行号+只打印空行
sed编辑举例_第7张图片
Paste_Image.png
sed '/root/a\superman'  passwd  在指定行后加内容 
sed编辑举例_第8张图片
Paste_Image.png
sed编辑举例_第9张图片
Paste_Image.png
sed '/root/i\superman'  passwd  在指定行前加内容
sed编辑举例_第10张图片
Paste_Image.png
sed '/root/c\superman'  passwd  替换指定行的内容
sed编辑举例_第11张图片
Paste_Image.png
sed '/^$/d' file  删除空行
seq 100|sed '1,10d'
sed编辑举例_第12张图片
Paste_Image.png
nl  显示文件行号
nl passwd|sed '2,5d'
sed编辑举例_第13张图片
Paste_Image.png
sed编辑举例_第14张图片
Paste_Image.png
nl passwd|sed '2a tea'  指定位置增加内容
sed编辑举例_第15张图片
Paste_Image.png
sed编辑举例_第16张图片
Paste_Image.png
nl passwd |sed '2r/etc/fstab'  指定位置读入/etc/fstab的内容
nl passwd |sed '2,5r/etc/issue'  2-5行的每一行后面都会读入/etc/fstab的内容;
sed编辑举例_第17张图片
Paste_Image.png
sed编辑举例_第18张图片
Paste_Image.png
nl passwd|sed '2wf1'  保存模式匹配的行至指定文件;f1最好是空文件,否则会被覆盖
sed编辑举例_第19张图片
Paste_Image.png
Paste_Image.png
sed 's/test/mytest/g' file
sed -n 's/root/superman&/p' passwd  单词前
sed -n 's/root/&superman/p' passwd  单词后
Paste_Image.png
sed -i.back 's/UUID/TTT/' f1
f1成为被修改后的文件;
f1.back成为备份的原文件;
sed编辑举例_第20张图片
Paste_Image.png
seq 100|sed -n 'n;p'  读取匹配到的行的下一行覆盖至模式空间(偶数)
seq 100|sed 'n;d'  (奇数)
sed编辑举例_第21张图片
Paste_Image.png
sed编辑举例_第22张图片
Paste_Image.png
seq 100|sed -n 'N;p'  读取匹配到的行的下一行追加至模式空间(没什么意义)
seq 100|sed  'N;p' 
sed编辑举例_第23张图片
Paste_Image.png
sed编辑举例_第24张图片
Paste_Image.png
nl f1|sed '1!G;h;$!d'  倒叙显示
h:把模式空间中的内容覆盖至保持空间中
G:从保持空间取出内容追加至模式空间
seq 100|sed -n '1!G;h;$p'
sed -n '1!G;h;$p' f1
sed编辑举例_第25张图片
Paste_Image.png

sed编辑举例_第26张图片
Paste_Image.png
sed 'N;D' f1  显示文件内容的最后一行
seq 100|sed '$!d'  
sed '$!d' f1
sed编辑举例_第27张图片
Paste_Image.png

Paste_Image.png
seq 100|sed '$!N;$!D'  
sed '$!N;$!D' f1  显示文件内容的最后两行
sed编辑举例_第28张图片
Paste_Image.png
seq 100|sed '/^$/d;G'  删除空行,并加空行
G:从保持空间取出内容追加至模式空间
保持空间=空(在无内容追加或覆盖至保持空间的情况下)
sed G f1
seq 100|sed 'G'  加空行
sed编辑举例_第29张图片
Paste_Image.png
sed编辑举例_第30张图片
Paste_Image.png
sed编辑举例_第31张图片
Paste_Image.png
sed '2G' f1 在文件的指定位置加空行
sed编辑举例_第32张图片
Paste_Image.png
seq 100|sed '2g'  把第二行覆盖掉,但保留空行
g:从保持空间取出数据覆盖至模式空间
sed编辑举例_第33张图片
Paste_Image.png
echo {1..100}  数字
echo {1..100..2}  奇数
echo {2..100..2}  偶数
sed编辑举例_第34张图片
Paste_Image.png

你可能感兴趣的:(sed编辑举例)