热到 trim 每第 n 行一个不同的值?

Hot to trim every nth line by a different value?

我想 trim 每 4 行的最后 XY 个字符。截断点应该是第 4 行和第 2 行以及第 8 行和第 6 行的字符数之间的差异。

例如:第 4 行(29 个字符)- 第 2 行(20 个字符)= 9。因此应删除第 4 行的最后 9 个字符。

输入:

@V300059044L3C001R0010004402
AAGTAGATATCATGGAGCCG
+
FFFGFGGFGFGFFGFFGFFGGGGGFFFGG
@V300059044L3C001R0010009240
AAAGGGAGGGAGAATAAT
+
GFFGFEGFGFGEFDFGGEFFGGEDEGEGF

输出:

@V300059044L3C001R0010004402
AAGTAGATATCATGGAGCCG
+
FFFGFGGFGFGFFGFFGFFG
@V300059044L3C001R0010009240
AAAGGGAGGGAGAATAAT
+
GFFGFEGFGFGEFDFGGE

运行

awk 'NR%4==0 {[=10=]=substr([=10=],1,a)} NR%2==0 {a=length([=10=])}  {print [=10=]}' input.txt

input.txt 产量

@V300059044L3C001R0010004402
AAGTAGATATCATGGAGCCG
+
FFFGFGGFGFGFFGFFGFFG
@V300059044L3C001R0010009240
AAAGGGAGGGAGAATAAT
+
GFFGFEGFGFGEFDFGGE