我有一个有四条重复行的文件.我想删除每四行的最后一个字符.该文件的描述如下.
@Header
DNA Sequence
+
Quality score!
<Pattern of four above lines repeats>
Run Code Online (Sandbox Code Playgroud)
我试图从每四个质量得分线中删除最后一个字符(感叹号).
@Header
DNA Sequence
+
Quality score
<Pattern of four above lines repeats>
Run Code Online (Sandbox Code Playgroud)
我可以使用awk拉出每四行,但是如何删除文件每四行的最后一个字符?
此问题仅适用于特定行.目前我的方法是使用awk来提取质量得分,我可以用sed删除最后一个字符.
awk 'NR == 4 || NR % 4 == 0'
sed 's/.$//'
Run Code Online (Sandbox Code Playgroud)
我目前不确定如何将编辑后的质量得分覆盖到原始文件中.任何想法或更简洁的现场sed/awk参数将不胜感激.
GNU-sed有一个可以在每个第n行运行的扩展:
sed '4~4s/.$//'
Run Code Online (Sandbox Code Playgroud)
m~n意味着在m-th行重复每一n行,运行以下命令.