cat passwd
sed 'p' passwd
sed '2p' passwd
sed -n '2p' passwd 只打印第二行
sed -n '1,4p' passwd 只打印1-4行
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 -n '2,/root/p' passwd
sed '=' passwd 显示行号
sed -n '/^$/=' passwd 只显示空行行号
sed -n '/^r/=' passwd 只显示以“r”开头的行号
sed -n '/.*root.*/=' passwd
sed -n '/root/=' passwd 查询某个单词在文件的第几行
sed -n -e '/^$/=' -e '/^$/p' passwd 只显示空行行号+只打印空行
sed '/root/a\superman' passwd 在指定行后加内容
sed '/root/i\superman' passwd 在指定行前加内容
sed '/root/c\superman' passwd 替换指定行的内容
sed '/^$/d' file 删除空行
seq 100|sed '1,10d'
nl 显示文件行号
nl passwd|sed '2,5d'
nl passwd|sed '2a tea' 指定位置增加内容
nl passwd |sed '2r/etc/fstab' 指定位置读入/etc/fstab的内容
nl passwd |sed '2,5r/etc/issue' 2-5行的每一行后面都会读入/etc/fstab的内容;
nl passwd|sed '2wf1' 保存模式匹配的行至指定文件;f1最好是空文件,否则会被覆盖
sed 's/test/mytest/g' file
sed -n 's/root/superman&/p' passwd 单词前
sed -n 's/root/&superman/p' passwd 单词后
sed -i.back 's/UUID/TTT/' f1
f1成为被修改后的文件;
f1.back成为备份的原文件;
seq 100|sed -n 'n;p' 读取匹配到的行的下一行覆盖至模式空间(偶数)
seq 100|sed 'n;d' (奇数)
seq 100|sed -n 'N;p' 读取匹配到的行的下一行追加至模式空间(没什么意义)
seq 100|sed 'N;p'
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 'N;D' f1 显示文件内容的最后一行
seq 100|sed '$!d'
sed '$!d' f1
seq 100|sed '$!N;$!D'
sed '$!N;$!D' f1 显示文件内容的最后两行
seq 100|sed '/^$/d;G' 删除空行,并加空行
G:从保持空间取出内容追加至模式空间
保持空间=空(在无内容追加或覆盖至保持空间的情况下)
sed G f1
seq 100|sed 'G' 加空行
sed '2G' f1 在文件的指定位置加空行
seq 100|sed '2g' 把第二行覆盖掉,但保留空行
g:从保持空间取出数据覆盖至模式空间
echo {1..100} 数字
echo {1..100..2} 奇数
echo {2..100..2} 偶数