gpt4 book ai didi

bash - 删除每第 n 行的最后一个字符

转载 作者:行者123 更新时间:2023-11-29 09:33:44 26 4
gpt4 key购买 nike

我有一个包含四行重复行的文件。我希望删除每四行的最后一个字符。该文件的描述如下。

@Header  
DNA Sequence
+
Quality score!
<Pattern of four above lines repeats>

我正在尝试从每四个质量得分行中删除最后一个字符(感叹号)。

@Header  
DNA Sequence
+
Quality score
<Pattern of four above lines repeats>

我可以使用 awk 每隔四行提取一次,但是如何删除文件中每隔四行的最后一个字符

This question仅在特定线路上运行。目前我的方法是使用 awk 来提取质量分数,我可以使用 sed 删除最后一个字符。

awk 'NR == 4 || NR % 4 == 0'
sed 's/.$//'

我目前不确定如何将编辑后的质量分数覆盖到原始文件中。任何想法或更简洁的就地 sed/awk 参数将不胜感激。

最佳答案

GNU-sed 有一个扩展,可以在每第 n 行上运行:

sed '4~4s/.$//'

m~n 表示在第 m 行重复每 n 行,运行以下命令。

关于bash - 删除每第 n 行的最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52819318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com