sed 的全称为 “Stream Editor” ,字符流编辑程序
1. sed -i '$s/$/\n/' homo1.fa
-
$
第一个$
代表文本的最后一行;若第几行可明确写数字几,如第一行末尾加上h这个字符sed -i '1s/$/h/' homo1.fa
-
s///
是替代操作,用后面的替代前面的,如s/old/new/
,如果该行中有多个old可以使用s/old/new/g
进行全部替代。若无g,则只替代最前面一个old; -
$
第二个$
表示每一行的行尾。相对应的行首使用^
表示; -
\n
表示在每一行的行尾加一个\n
的换行符; -
-i
参数表示直接在原文件进行更改
这句合起来的功能是在最后一行的行尾添加一个换行符。
2. sed 's/oldtext/newtext&/' inputfile
此处的&
符号代表被替换的整个字符串,它通常用于引用由正则表达式匹配到的内容。
上例中&
代表的是oldtext这个被匹配的文本。
所以假定inputfile 中有一行包括oldtext,这个sed命令执行会将oldtext替换成newtext并随后加上oldtext。
This is a oldtext.
替换后
This is a newtextoldtext.
&
允许在替换文本保留原文本部分,这在需要保留原始匹配内容的情况下很有用。