filter out FASTQ reads which are shorter I tried to filter out FASTQ reads which are shorter than 259 bp with 

bioawk -cfastx 'length() &gt;= 259 {print "@" " " "\n""\n+\n"}' good/SZ005_NoIndex_L002_R1_009.good.fq.gz \
  | gzip &gt;  good-filtered/SZ005_NoIndex_L002_R1_009.good-filtered.fq.gz`. 


Unfortunately, the output was wrong:

@ 

+

@ 

+

@ 


What did I miss?

Thank you in advance,
You need to use variable $seq. For example:

bioawk -cfastx 'length($seq)&gt;=259{print "@"$name"\n"$seq"\n+\n"$qual}' test.fq.gz


There are also more convenient tools like seqtk and seqkit. With those, you may

seqtk seq -L260 test.fq.gz