我想截掉第 4 行的前 9 个字符。我可以使用 cut -c 9
,但我不知道如何只选择每 4 行,而不丢失剩余的行。
输入:
@V300059044L3C001R0010004402
AAGTAGATATCATGGAGCCG
+
FFFGFGGFGFGFFGFFGFFGGGGGFFFGG
@V300059044L3C001R0010009240
AAAGGGAGGGAGAATAATGG
+
GFFGFEGFGFGEFDFGGEFFGGEDEGEGF
输出:
@V300059044L3C001R0010004402
AAGTAGATATCATGGAGCCG
+
FGFFGFFGFFGGGGGFFFGG
@V300059044L3C001R0010009240
AAAGGGAGGGAGAATAATGG
+
FGEFDFGGEFFGGEDEGEGF
最佳答案
您能否尝试使用 GNU awk
中显示的示例进行跟踪、编写和测试。
awk 'FNR%4==0{print substr($0,10);next} 1' Input_file
或者按照@tripleee 的建议(在评论中)尝试:
awk '!(FNR%4) { $0 = substr($0, 10) }1' Input_file
说明: 为以上添加详细说明。
awk ' ##Starting awk program from here.
FNR%4==0{ ##Checking condition if this line number is fully divided by 4(every 4th line).
print substr($0,10) ##Printing line from 10th character here.
next ##next will skip all further statements from here.
}
1 ##1 will print current Line.
' Input_file ##Mentioning Input_file name here.
关于bash - 如何修剪每第n行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65341419/