awk 如何找出兩檔案相同字串 - Linux

Table of Contents


while read line1
do
temp1=$(echo $line1 | awk '{print substr($1,1,3)}')
while read line2
do
temp2=$(echo $line2 | awk '{print substr($1,1,3)}')
[ $temp1 == $temp2 ] && echo $line2 $line1 >> c.txt
done < a.txt
done < b.txt
exit 0


這樣做大概可以解決
但是效率很差
而且當我資料很多筆時
不知道為什麼只做完其中一筆就卡住了
line1 跟 line2 太長還會被換到下一行

--

--

All Comments

Mary avatarMary2010-03-22
回完之後你又要自刪了?
Bennie avatarBennie2010-03-23
你有回嗎?! 在他回我之前我就刪了
Erin avatarErin2010-03-26
檔案A跟檔案b是要比對同一行還是不同行?
Kumar avatarKumar2010-03-29
看起來是比對不同行 a跟b都很大嗎?
James avatarJames2010-04-01
a大概3萬筆b大概3百筆
Sierra Rose avatarSierra Rose2010-04-02
把read line改成`cat a.txt`跟`cat b.txt`試試看?
Sierra Rose avatarSierra Rose2010-04-04
迴圈用for i in `cat a.txt` do blabla done這樣
Freda avatarFreda2010-04-05
用for跟while不是一樣的嗎