Shell 如何将一个文件中的值与另一个文件中的值进行比较

Shell 如何将一个文件中的值与另一个文件中的值进行比较,shell,awk,Shell,Awk,文件Mem.txt [root@mavenir Sudhakar]# cat MEM.txt | awk '{print $4,$5}' 输出: CARD_0-1 12 CARD_0-10 13 CARD_0-11 13 CARD_0-12 28 CARD_0-13 2 CARD_0-14 2 CARD_0-2 30 CARD_0-3 13 CARD_0-4 29 CARD_0-9 24 CARD_1-1 13 CARD_1-10 28 CARD_1-11 13 CARD_1-12 28 CA

文件Mem.txt

[root@mavenir Sudhakar]# cat MEM.txt | awk '{print $4,$5}'
输出:

CARD_0-1 12
CARD_0-10 13
CARD_0-11 13
CARD_0-12 28
CARD_0-13 2
CARD_0-14 2
CARD_0-2 30
CARD_0-3 13
CARD_0-4 29
CARD_0-9 24
CARD_1-1 13
CARD_1-10 28
CARD_1-11 13
CARD_1-12 28
CARD_1-13 29
CARD_1-14 13
CARD_1-2 30
CARD_1-3 13
CARD_1-4 28
CARD_1-5 10
CARD_1-6 28
CARD_1-9 13

[root@mavenir Sudhakar]# cat cardnum.txt 
0-1
0-3
0-11
1-1
1-3
1-5
1-9
1-11
1-13
在这两个文件中,我需要从MEM.txt文件中选择第二个值,即cardnum.txt文件中存在的cardnum

输出应该是这样的

0-1  12
0-3  13
0-11  13
1-1  13
1-3  13
1-5  10
1-9  13
1-11  13
1-13  29

这里,现在应该可以了

#!/bin/bash
while lead line; do
    val=$(echo "$line" | awk -F _ '{print $2}');
    echo "$val";
done < mem.txt

您可能需要阅读帮助文件,并在发布下一个问题之前稍微熟悉一下该站点。这个问题可以简短得多,表述得更好,而且你没有表现出任何试图自己解决它的迹象。这往往会让人反感,并且会获得比答案更多的反对票。此脚本工作不正常。这将打印整个第二行。但是,我不需要整个第二行作为o/p,我只需要cardnum.txt中的数字。哈哈,看到我说的部分不完全有效吗当时我的时间不够,但现在我要再试一次。