小编Rol*_*oli的帖子

grep 用于模式列表中的重复值

我有文件 A.txt,它是唯一 ID(第 1 列)及其相应值(第 2 列)的列表:

A.txt

ABC1D_T1_B1  123.4
ABC2D_T1_B2  146.7
ABC3D_T1_B1  567.8
ABC4D_T0_B2  96.8
ABC1D_T0_B1  145.9
Run Code Online (Sandbox Code Playgroud)

第二个文件是 B.txt,不是唯一的,但有重复的条目

ABC1D_T1_B1
ABC1D_T1_B1
ABC2D_T1_B2
ABC3D_T1_B1
ABC3D_T1_B1
ABC4D_T0_B2
ABC1D_T0_B1
ABC1D_T0_B1
Run Code Online (Sandbox Code Playgroud)

如何从 A.txt grep B.txt 并报告重复列表的 col 2 的值

结果:

ABC1D_T1_B1  123.4
ABC1D_T1_B1  123.4
ABC2D_T1_B2  146.7
ABC3D_T1_B1  567.8
ABC3D_T1_B1  567.8
ABC4D_T0_B2  96.8
ABC1D_T0_B1  145.9
ABC1D_T0_B1  145.9
ABC1D_T0_B1  145.9
Run Code Online (Sandbox Code Playgroud)

通常,如果 B.txt 中存在唯一条目,则

grep -Fw -f B.txt A.txt >Result.txt
Run Code Online (Sandbox Code Playgroud)

如何使用 grep 为多个重复条目执行此操作?

grep bash awk

4
推荐指数
1
解决办法
1829
查看次数

reading entries from multiple files

I have few files like A.txt, B.txt and C.txt, each having a only single number in it i.e A.txt has 45, B.txt has 35 and C.txt has 100. How could I read these entries from each files and report with its corresponding file name.

output:

45 A.txt
35 B.txt
100 C.txt
Run Code Online (Sandbox Code Playgroud)

awk

3
推荐指数
2
解决办法
3211
查看次数

grep 第一列 uniq 值

两列 A 和 B:A 列具有重复的 id,B 列对于每个对应的重复值具有不同的值。我想读取 A 列中的每个 uniq 值,仅读取 B 列中的第一个命中

文件_B.txt

1
A2
乙 3
乙 2
乙 4
1
C 5
4
3
2

输出:

1
乙 3
1
4
2

grep awk

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

仅从第一列中删除扩展名

我有一个这样的文件,用制表符分隔两列:

 ENSG00000242268.2    0.07563
 ENSG00000270112.3    0.09976
 ENSG00000167578.15   4.38608
 ENSG00000273842.1    0.0
 ENSG00000078237.5    4.08856
Run Code Online (Sandbox Code Playgroud)

我想从第一列的末尾删除数字扩展名,因此输出将是:

 ENSG00000242268    0.07563
 ENSG00000270112    0.09976
 ENSG00000167578    4.38608
 ENSG00000273842    0.0
 ENSG00000078237    4.08856
Run Code Online (Sandbox Code Playgroud)

简单地做sed 's/\..*$//'只返回第一列值,并使用与AWK字段分隔符'.'awk -F'.'去除从第二列中的值也作为有十进制数。

这里已经回答了一个类似的问题: removing extensions in a column

我仍然无法仅从第 1 列中删除。

sed awk cut

3
推荐指数
2
解决办法
1072
查看次数

标签 统计

awk ×4

grep ×2

bash ×1

cut ×1

sed ×1