答え1
試みの問題は、入力ファイルの各行の最初の6列のみが標準出力として印刷されることです。指定された行に列数が少ない場合、欠落している列awk
は「空」と解釈されるため、行7の出力は実際には次のようになります。
chr1 \t 290338 \t 290378 \t NS500455:80:HG7TMBGXB:$:13404:14651:1128 \t + \t \n
(読みやすくするために周囲のスペースを追加しました\t
。最後に「空の」列があることに注意してください)。
列数に基づいて誤った行をフィルタリングするには、次を試してください。
awk -F'\t' -v OFS='\t' 'NF==6' file.txt > output.txt
6つのフィールド(=列)を持つ行のみが印刷されます。