我有一个这样的表:
BB1520_v1.0_0103 外显子 3329 3601 BB1520_v1.0_0103 外显子 3650 4040 BB1520_v1.0_0089 外显子 1 862 BB1520_v1.0_0089 外显子 1312 1357 BB1520_v1.0_0089 外显子 1423 1531 BB1520_v1.0_0084 外显子 5196 5283
我想按第 1 列中的值提取行,并将它们保存到 3 个不同的文件中。
我尝试使用以下代码但没有成功:
awk -F, '{print >$1".txt"}' file.txt
答案1
您有正确的方法,但您需要在空格上进行字段分割,而不是逗号(-F,
)。我将你的问题解释为“这些行应该保存到名称与第一列中的名称相同的文件中”。
$ cat file.txt
BB1520_v1.0_0103 exon 3329 3601
BB1520_v1.0_0103 exon 3650 4040
BB1520_v1.0_0089 exon 1 862
BB1520_v1.0_0089 exon 1312 1357
BB1520_v1.0_0089 exon 1423 1531
BB1520_v1.0_0084 exon 5196 5283
$ awk '{ print >$1".txt"}' file.txt
$ cat BB1520_v1.0_0103.txt
BB1520_v1.0_0103 exon 3329 3601
BB1520_v1.0_0103 exon 3650 4040