我有一个包含许多 fasq 文件的目录。我正在使用此命令来计算读取长度并输出到新文件中。
sed -n '2~4p' FAX08345_abafd786_a8df7914_1131.fastq | awk '{ print length }' > len.text
我想将此命令应用于目录中的所有 fastq 文件,并且我需要输出以创建唯一的文件名 len.x,例如,其中 x = fastq 的文件名。我在 Bash 工作。
我将不胜感激任何帮助!
请解释 bash 的 for 循环的语法。
听起来这可能就是您想要做的:
awk '
FNR == 1 { close(out); out="len."FILENAME }
FNR >= 2 { print length() > out }
FNR == 4 { nextfile }
' *.fastq
如果你的 awk 不支持
nextfile
则将其更改为:
awk '
FNR == 1 { close(out); out="len."FILENAME }
(2 <= FNR) && (FNR <= 4) { print length() > out }
' *.fastq