[問題] 兩檔案資料合併
我有兩個檔案
這兩個檔案都是好幾萬筆
a.txt b.txt
------------- -------------
abc111 abc123 abc555 abc111
abc222 abc124 cde666 cde123
cde333 cde125
cde444 cde126
------------- -------------
目標是要知道 a.txt 跟 b.txt 第一欄的前三個字元是不是相同
並且抓出該行輸出到 c.txt
c.txt
---------------------------
abc111 abc123 abc555 abc111
abc222 abc124 abc555 abc111
cde333 cde125 cde666 cde123
cde444 cde126 cde666 cde123
---------------------------
現在寫好了一個shell script如下
不過執行效率非常差
全部跑完需要好幾個小時
在網路上找到一些關於perl的資訊
不過完全沒有接觸過這個語言
不知道perl是不是能快速的處理
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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.225.204
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章