小编Nar*_* DJ的帖子

如何在 Linux 中使用 awk 或 grep 或 sed 命令将文件的一部分提取到单独的文件中

我有如下所示的文本文件:

输入文件1.txt

.......................
cha21   1       3       5       nar
cha21   2       3       6       piy
cha23   2       3       5       ram
cha23   3       3       3       dam
cha27   5       3       7       pam
................................
Run Code Online (Sandbox Code Playgroud)

我想将与“cha21”、“cha23”和“cha27”行对应的所有 5 列提取到 3 个不同的输出文件中(例如,cha21.txt、cha23.txt、cha27.txt)。

输出文件

cha21.txt

..........
cha21   1       3       5       nar
cha21   2       3       6       piy
......................
Run Code Online (Sandbox Code Playgroud)

cha23.txt

cha23   2       3       5       ram
cha23   3       3       3       dam
...................................
Run Code Online (Sandbox Code Playgroud)

cha27.txt

cha27   5       3       7       pam
...........................
Run Code Online (Sandbox Code Playgroud)

我可以对 3 个文件使用 grep 命令 3 次执行此操作...无论如何我可以一次完成所有操作,即一个命令,因为我需要提取 100 个输出文件。

grep awk

4
推荐指数
2
解决办法
834
查看次数

将两个文件合并为具有合并列的单个文件

我需要将两个文件合并为一个文件,其中包含两个文件中的所有列。

我正在提供我的示例文件。 文件 1

chr loc T1  C1
chr1    100 2   3
chr1    200 3   4
chr2    100 1   4
chr2    400 3   1
Run Code Online (Sandbox Code Playgroud)

档案 2

chr loc T2  C2
chr1    100 1   2
chr1    300 4   1
chr2    100 7   5
chr2    500 1   9
Run Code Online (Sandbox Code Playgroud)

和输出文件应该是这样的

输出文件

chr loc T1  C1  T2  C2
chr1    100 2   3   1   2
chr1    200 3   4   0   0
chr1    300 0   0   4   1
chr2    100 1   4   7   5
chr2    400 …
Run Code Online (Sandbox Code Playgroud)

shell text-processing join

2
推荐指数
1
解决办法
873
查看次数

标签 统计

awk ×1

grep ×1

join ×1

shell ×1

text-processing ×1