我想修剪每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 {$0=substr($0,1,a)} NR%2==0 {a=length($0)} {print $0}' input.txt
在input.txt
收益率
@V300059044L3C001R0010004402
AAGTAGATATCATGGAGCCG
+
FFFGFGGFGFGFFGFFGFFG
@V300059044L3C001R0010009240
AAAGGGAGGGAGAATAAT
+
GFFGFEGFGFGEFDFGGE
非常感谢!!!默认情况下,此命令删除行尾的字符吗?
仅在第4行删除字符
是的,但是为什么此命令从第4行的末尾删除它们。难道它也不能删除从行首开始的字符吗?
不,
substr
-method占据整行$0
并保留a
从1
st开始的字符