一、實現的功能:現有倆個檔案a.txt(裡邊有倆列資料: bid,name), b.txt(好幾列資料:bid, pv)。其中a.txt有3800w的資料量,b.txt有1300w的資料量,而且a.txt的資料報含b.txt的資料,要將b.txt的資料在a.txt裡邊刪除掉,並且還要給b.txt的bid 對應加上name。
二、實現步驟:
獲取b.txt檔案第一列資料生成新的b_bid.txt檔案: awk -f 『\t』 『』 b.txt > b_bid.txt (-f指定命令符:具體
獲取倆個不同檔案的資料,將b_bid.txt檔案的$1(第一列)和a.txt的檔案$1進行比較是否一樣,一樣的話就講a.txt的$1,$2 輸出到乙個新的檔案new_b_bid.txt(bid, name 是指的b.txt重構之後的檔案): awk 『}nr>fnr}』 b_bid.txt a.txt > new_b_bid.txt(nr,fnr 具體:
將生成的new_b_bid.txt和a.txt進行對比(對比要注意倆檔案的資料格式保持一致,特別列與列的空格); 先用命令 awk 『print $0』 a.txt new_b_bid.txt > push_all_bid.txt 將倆檔案進行合併(此命令是以追加的方式存進來的,就是先存放的是a.txt,再存放new_b_bid.txt)。 最後 排序 去掉重複的值(sort | uniq -u > push_b_bid.txt),生成最終想要的檔案push_b_bid.txt。
linux命令 awk學習
我們在面試中經常被問到的linux命令 就都會包括awk命令的使用,下面我向大家總結awk命令的詳細使用。希望能給大家一些幫助。在國內很多大型公司面試後台程式設計師的時候無一例外都會問到下面這個題目 請統計某個apache或者nginx 內的log檔案,並求出裡面ip數的top10 當然,這個問題不...
linux命令學習 awk 命令學習
三 awk 指令碼 四 awk 程式設計 五 寫在結尾 awk是linux上一款強大的文字分析工具,它可以將檔案逐行的讀入,然後用分割符分割開來,再對分割的各個部分進行處理。awk分割的各個部分叫做域,預設的分割符是空格和製表符。可以通過 f來指定分割符。awk有3個不同版本 awk nawk和ga...
Linux命令之awk學習筆記
一 awk命令 root www awk 條件型別 1 條件型別 2 filename二 awk 後面接兩個單引號並加上大括號 來設定想要對資料進行的處理動作。在每一行的每個欄位都是有變數名稱的,那就是 1,2.等變數名稱。0代表 一整列資料 的意思 如圖 以上面的例子來說,第一行的 0 代表的就是...