次の形式のテキスト ファイルがあります。
variableStep chrom=chr1 span=10
10161 1
10171 1
10181 2
10191 2
10201 2
10211 2
10221 2
10231 2
10241 2
10251 1
variableStep chrom=chr10 span=10
70711 1
70721 2
70731 2
70741 2
70751 2
70761 2
70771 2
70781 2
70791 1
71161 1
71171 1
71181 1
variableStep chrom=chr11 span=10
104731 1
104741 1
104751 1
104761 1
104771 1
104781 1
104791 1
104801 1
128711 1
128721 1
128731 1
これを「chr1.txt」、「chr10.txt」、「chr11.txt」などの名前の複数のファイルに分割する方法が必要です。これを行うにはどうすればよいですか?
私は次の方法について:
cat file.txt | \
while IFS=$'\t' read -r -a rowArray; do
echo -e "${rowArray[0]}\t${rowArray[1]}\t${rowArray[2]}"
done > $file.mod.txt
これは、1 行ずつ読み取り、1 行ずつ保存します。ただし、行にまたがるもう少し精巧なものが必要です。「chr1.txt」には行 10161 1 から行 10251 1 までのすべてが含まれ、「chr10.txt」には行 70711 1 から行 71181 1 までのすべてが含まれます。同様に各行から chr# を付けてファイル名として保存します。
助けてくれて本当にありがとう。