^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
$ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
. 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
匹配0个或多个字符,如:/sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。
[^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
(..) 匹配子串,保存匹配的字符,如s/(love)able/\1rs,loveable被替换成lovers。
& 保存搜索字符用来替换其他字符,如s/love/&/,love这成love。
< 匹配单词的开始,如:/<love/匹配包含以love开头的单词的行。
> 匹配单词的结束,如/love>/匹配包含以love结尾的单词的行。
x{m} 重复字符x,m次,如:/0{5}/匹配包含5个0的行。
x{m,} 重复字符x,至少m次,如:/0{5,}/匹配至少有5个0的行。
x{m,n} 重复字符x,至少m次,不多于n次,如:/0{5,10}/匹配5~10个0的行。
nl /etc/passwd | sed ‘2a drink tea‘
nl /etc/passwd | sed ‘2i drink tea‘
[root@hangzhoujfzx dyzy]# cat tmp
"xietiandao",34,"Anhui Province",20190323,45899.3,ok
"jinyi",31,"Zhejiang Proveince",20200123,34.23,yes
"xiezixin",5,"Zhejiang Province",20200321,467.34,no
[root@hangzhoujfzx dyzy]# sed 's/,\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\),/,"\1\2\3\4-\5\6-\7\8 12:00:00",/' tmp
"xietiandao",34,"Anhui Province","2019-03-23 12:00:00",45899.3,ok
"jinyi",31,"Zhejiang Proveince","2020-01-23 12:00:00",34.23,yes
"xiezixin",5,"Zhejiang Province","2020-03-21 12:00:00",467.34,no
sed -i 's/,\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\),/,"\1\2\3\4-\5\6-\7\8 12:00:00",/' tmp
原文:https://www.cnblogs.com/dyzy480/p/12380330.html