これの小さなバリエーションを試していますが、5 番目のフィールドに基づいて分割されるファイルの区切り文字はコロン「:」またはタブ \t のいずれかであると awk に伝えます。私はそのawk -F '[:\t]'
部分を単独で実行します。実際に正しい $5 フィールドが出力されます。
ただし、これをより大きなコマンドに組み込もうとすると、次のエラーが返されます。
print > f
awk: cmd. line:9: ^ syntax error
これはコードです:
awk -F '[:\t]' ' # read the list of numbers in Tile_Number_List
FNR == NR {
num[$1]
next
}
# process each line of the .BAM file
# any lines with an "unknown" $5 will be ignored
$5 in num {
f = "Alignments_" $5 ".sam" print > f
} ' Tile_Number_List.txt little.sam
-F オプションで動作しないのはなぜですか?