1. 程式人生 > >每日一題--4--在兩個文件中取交集,顯示指定的內容

每日一題--4--在兩個文件中取交集,顯示指定的內容

-bash alex 條件 lex head 密碼 一個 用戶 輸出

把這個兩個文件都存在的用戶的密碼輸出出來
[root@sentinel student]# head file1 file2 
==> file1 <==
oldboy   1234
alex    4567
lidao   9999

==> file2 <==
001 lidao
002 alex
003 oldboy
004 oldgirl
提示:需要用到如何判斷這兩個文件不是一個文件。

解題思路

awk ‘FNR==NR{h[$1]=$2}FNR!=NR{print h[$2]}‘ file1 file2 
awk ‘FNR==NR{h[$1]=$2;next}{print h[$2]}‘ file1 file2 
//next 滿足前面這個條件就不執行後面的內容了

#!/bin/bash
for i in `awk ‘{print $1}‘ file1`
do
    for j in `awk ‘{print $2}‘ file2`
        do
        if [ $i == $j ];then
            awk ‘$1~/‘$i‘/{print $2}‘ file1
        fi
        done
done

每日一題--4--在兩個文件中取交集,顯示指定的內容