ixt*_*lix 10 sed text-processing
所以,我有一个看起来像这样的字符串:
AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA
Run Code Online (Sandbox Code Playgroud)
我想将字符串拆分为由 '+' 符号分隔的 3 个字符的块。
AUG+GCC+AUG+GCG+CCC+AGA+ACU+GAG+AUC+AAU+AGU+ACC+CGU+AUU+AAC+GGG+UGA
Run Code Online (Sandbox Code Playgroud)
我想和我的好朋友一起做sed。
我试过
cat codons | sed -r 's/([A-Z]\{3\})/\1\+/g'
Run Code Online (Sandbox Code Playgroud)
……没有成功。
我sed可以使用什么命令?
Sté*_*las 16
由于您不想要尾随+,您可以这样做:
fold -w3 | paste -sd+ -
Run Code Online (Sandbox Code Playgroud)
也就是说,字符idthfold上的行,以及那 3 行以它们为elves 的字符行作为分隔符,这实际上就像将除最后一个之外的每个换行符都更改为. 如果输入有多于一行,你最终会得到那些用 a 连接的行,这可能是也可能不是你想要的。3wpastes+d++
如果您确实需要它sed,则可以在以下+之后删除尾随:
sed 's/.../&+/g;s/+$//'
Run Code Online (Sandbox Code Playgroud)
rus*_*ush 12
sed 's/.../&+/g'
Run Code Online (Sandbox Code Playgroud)
为了让你的方式工作,你不需要转义{}符号:
sed -r 's/([A-Z]{3})/\1+/g'
Run Code Online (Sandbox Code Playgroud)