【1】删除文件每行的第一个字符。
【2】删除文件每行的第二个字符。
【4】删除文件每行的倒数第二个字符。
【6】删除文件每行的倒数第二个单词。
【7】删除文件每行的最后一个单词。
【8】交换每行的第一个字符和第二个字符。
【9】交换每行的第一个字符和第二个单词。???????
【10】交换每行的第一个单词和最后一个单词。
【11】删除一个文件中所有的数字。
【12】删除每行开头的所有空格。
【13】用制表符替换文件中出现的所有空格。
【14】把所有大写字母用括号()括起来。
【15】打印每行3次。
【16】隔行删除。
【17】把文件从第22行到第33行复制到第56行后面。
【18】把文件从第22行到第33行移动到第56行后面。
【19】只显示每行的第一个单词。
【20】打印每行的第一个单词和第三个单词。
【21】将格式为 mm/yy/dd 的日期格式换成 mm;yy;dd
[root@seker ~]# sed 's/\(.\)\(.*\)/\2/' /etc/passwd | tail -3
[root@uplooking ~]# sed 's/.//' /etc/passwd | tail -3
【2】删除文件每行的第二个字符。
[root@seker ~]# sed 's/\(.\)\(.\)\(.*\)/\1\3/' /etc/passwd |tail -3
[root@uplooking ~]# sed 's/.//2' /etc/passwd | tail -3
【3】删除文件每行的最后一个字符。
[root@seker ~]# sed 's/\(.*\)\(.\)/\1/' /etc/passwd | tail -3
[root@uplooking ~]# sed 's/.$//' /etc/passwd | tail -3
【4】删除文件每行的倒数第二个字符。
[root@seker ~]# sed 's/\(.*\)\(.\)\(.\)/\1\3/' /etc/passwd | tail -3
【5】删除文件每行的第二个单词。
[root@seker ~]#echo hello 123 linux |sed 's/\([a-Z]\+\)\([^a-Z]\+\)\([a-Z]\+\)\([^a-Z]*\)\(.*\)/\1\2\4\5/'
[root@uplooking ~]# sed 's/\([a-Z]\+\)\([^a-Z]\+\)\([a-Z]\+\)\(.*\)/\1\2\4/' /etc/passwd | tail -2
【6】删除文件每行的倒数第二个单词。
[root@seker ~]# sed -r 's/(.*)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]*$)/\1\2\4\5/' /etc/passwd| tail -3
【7】删除文件每行的最后一个单词。
[root@seker ~]# sed -r 's/(.*)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]*$)/\1\2\3\4/' //etc/passwd | tail -3
【8】交换每行的第一个字符和第二个字符。
[root@seker ~]# sed -r 's/(.)(.)(.*)/\2\1\3/' /etc/passwd | tail -3
[root@uplooking ~]# sed -r 's/(.)(.)/\2\1/' /etc/passwd | tail -3
【9】交换每行的第一个字符和第二个单词。???????
sed 's/\(^[a-Z0-9]\)\([a-Z0-9]*[^a-Z0-9]\{1,\}\)\([a-Z0-9]\{1,\}\)/\3\2\1/g' /etc/passwd |tail -3
【10】交换每行的第一个单词和最后一个单词。
[root@seker ~]# sed -r 's/([a-Z]+)([^a-Z]+)(.*)([^a-Z]+)([a-Z]+)([^a-Z]*$)/\5\2\3\4\1\6/' /etc/passwd | tail -3
【11】删除一个文件中所有的数字。
[root@seker ~]# sed 's/[0-9]//g' /etc/passwd | tail -3
【12】删除每行开头的所有空格。
sed -r 's/^ +//g' /etc/passwd
【13】用制表符替换文件中出现的所有空格。
sed -r 's/ +/\t/g' /etc/passwd
【14】把所有大写字母用括号()括起来。
sed -r 's/([A-Z])/(\1)/g' /etc/passwd
【15】打印每行3次。
sed 'p;p' /etc/passwd
【16】隔行删除。
sed '0~2 {=;d}' /etc/passwd
【17】把文件从第22行到第33行复制到第56行后面。
sed '22h;23,33H;56G' /etc/passwd
【18】把文件从第22行到第33行移动到第56行后面。
sed '22{h;d};23,33{H;d};56g' /etc/passwd
【19】只显示每行的第一个单词。
[root@seker ~]# sed 's/\([a-Z]\+\)\([^a-Z]\+\)\(.*\)/\1/' /etc/passwd | tail -3
[root@uplooking ~]# sed 's/\([a-Z]\+\)\(.*\)/\1/' /etc/passwd | tail -3
【20】打印每行的第一个单词和第三个单词。
[root@seker ~]# sed 's/\([a-Z]\+\)\([^a-Z]\+\)\([a-Z]\+\)\([^a-Z]\+\)\([a-Z]\+\)\([^a-Z]\+\)\(.*\)/\1\t\5/' /etc/passwd | tail -n 3
【21】将格式为 mm/yy/dd 的日期格式换成 mm;yy;dd
[root@seker ~]# date '+%m/%y/%d' |sed 's#/#; #g'
【21】去掉空行和以#号开头的行
sed -e '/#/d' -e '/^$/d' dnsmasq.conf