gpt4 book ai didi

unix - 拆分文件或提取基于模式不同的行

转载 作者:行者123 更新时间:2023-12-02 22:26:22 25 4
gpt4 key购买 nike

我有一个像这样的制表符分隔文件:

Supercontig_1.1 400  1500  1       4
Supercontig_1.1 400 1500 2 4
Supercontig_1.1 20000 138566 1 1
Supercontig_1.1 20000 138566 2 1
Supercontig_1.2 300 1000 1 2
Supercontig_1.2 300 1000 2 2
Supercontig_1.2 1300 15000 1 2
Supercontig_1.2 1300 15000 2 2
Supercontig_1.3 0 10000 1 5
Supercontig_1.3 0 10000 2 5

我想将所有基于模式“Supercontig_1.X”的行提取到一个单独的文件中。 IE。一个文件中所有带有 Supercontig_1.1 的行,另一个文件中所有带有 Supercontig_1.2 的行......我尝试查看“sed”命令,但我不确定当所有行的搜索模式不同时如何使用它。

最佳答案

使用 awk 的一种方法:

awk '{ print $0 >$1 }' infile

产生:

==> Supercontig_1.1 <==
Supercontig_1.1 400 1500 1 4
Supercontig_1.1 400 1500 2 4
Supercontig_1.1 20000 138566 1 1
Supercontig_1.1 20000 138566 2 1

==> Supercontig_1.2 <==
Supercontig_1.2 300 1000 1 2
Supercontig_1.2 300 1000 2 2
Supercontig_1.2 1300 15000 1 2
Supercontig_1.2 1300 15000 2 2

==> Supercontig_1.3 <==
Supercontig_1.3 0 10000 1 5
Supercontig_1.3 0 10000 2 5

我没有看到您的字段用逗号分隔,只有空格。如果是这种情况,请更改字段分隔符 (FS),例如:BEGIN { FS=","; 在脚本的开头。

关于unix - 拆分文件或提取基于模式不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12909705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com