我的数据看起来像这样(FASTA格式)。注意 带有2“>块”标题和序列。
>SRR018006
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGN
>SRR018006
ACCCGCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
我想要做的是附加一个文字(例如>标题中的“foo”) 得到以下特性:
>SRR018006-foo
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGN
>SRR018006-foo
ACCCGCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
有没有办法用SED做到这一点?优选地在线修改 原始文件。
答案 0 :(得分:7)
这将做你想要的。
sed -ie 's/^\(>.*\)/\1-foo/' file
答案 1 :(得分:3)
从您之前的帖子判断,您也有使用awk的经验:这是一个awk解决方案。
# awk '/^>/{print $0"-foo";next}1' file
>SRR018006-foo
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGN
>SRR018006-foo
ACCCGCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
# awk '/^>/{print $0"-foo";next}1' file > temp
# mv temp file
如果你坚持使用sed
# sed -e '/^>/s/$/-foo/' file