awk工具日常統(tǒng)計(if語法)

工作日常觅捆,需要查數(shù)據(jù)庫赦役,或者load日志。篩出符合一定業(yè)務邏輯的數(shù)據(jù)栅炒。
然后整理成一定格式的文件扩劝,有時基礎數(shù)據(jù)不全,還要在曬出的數(shù)據(jù)文件基礎上职辅,做些邏輯判斷棒呛,添加一些數(shù)據(jù)。

比如域携,線上業(yè)務充值贈送禮品簇秒。不同的充值額度,贈送的禮品數(shù)不同秀鞭。
原始文件

"11111","5"
"22222","10"
"33333","15"
"44444","20"
"55555","25"
"66666","30"

其中第一列是用戶id趋观,第二列是充值金額
目標文件是

11111,5,100
22222,10,100
33333,15,200
44444,20,200
55555,25,300
66666,30,300

想判斷第二列的值,1-10贈100锋边,11-20贈200皱坛,21-30贈300。第三列是贈送的禮品數(shù)豆巨。

分兩步剩辟,先預處理下文件。第二列是字符串往扔,沒法比較大小贩猎,先去掉“”。這個場景比較適合用sed指令工具處理萍膛。

cat file.txt |sed 's/"http://g'

's/要替換的字符/替換后的字符/g'
s替換吭服,g全部替換。

然后用awk處理蝗罗,使用if表達式

cat temp |awk -F ',' '{if ($2>=1&& $2<10) print $1","$2","100; else if ($2>=10&& $2<20) print $1"," $2","200; else if ($2>=20&& $2<=30) print $1","$2","300}'

或者

cat temp |awk -F ',' '{if ($2>=1&& $2<10) {print $1","$2","100} else if ($2>=10&& $2<20) {print $1"," $2","200} else if ($2>=20&& $2<=30) {print $1","$2","300}}'

語法:

awk -F ',' '{if(條件){執(zhí)行表達式}
                  else if(條件){執(zhí)行表達式}
                  else{執(zhí)行表達式}}'

或者執(zhí)行表達式不加大括號艇棕,條件之間用;分割串塑。

有一點調(diào)試一會沼琉,就是shell腳本里條件里邊不支持
10>a>5表達,要分開拟赊。刺桃。
a>5&&a<10
發(fā)現(xiàn)java語法也不支持勋磕,我這是在哪看到了這樣的寫法昂灵。。

sed是流編輯器仔雷,是逐行取出文本內(nèi)容然后再進行處理屋匕。既然是編輯器那sed在編輯文件方面就具有很多優(yōu)勢葛碧,比如插入新行,修改某行过吻,根據(jù)正則匹配某行同時修改进泼。跟我們平時使用的交互式文本編輯器差不多,但是sed可以提前做好劇本纤虽,然后無需中斷無需交互就能達到最終想要的結(jié)果乳绕。

而awk是報表生成工具,也是逐行取出文件逼纸,但是取出來的目的是把內(nèi)容進行二次加工洋措,然后把有用的數(shù)據(jù)單獨用優(yōu)雅的格式輸出,或者進行歸納統(tǒng)計得到統(tǒng)計結(jié)果杰刽,等等菠发。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贺嫂,隨后出現(xiàn)的幾起案子滓鸠,更是在濱河造成了極大的恐慌,老刑警劉巖第喳,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糜俗,死亡現(xiàn)場離奇詭異,居然都是意外死亡曲饱,警方通過查閱死者的電腦和手機吩跋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渔工,“玉大人锌钮,你說我怎么就攤上這事∫兀” “怎么了梁丘?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長旺韭。 經(jīng)常有香客問我氛谜,道長,這世上最難降的妖魔是什么区端? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任值漫,我火速辦了婚禮,結(jié)果婚禮上织盼,老公的妹妹穿的比我還像新娘杨何。我一直安慰自己酱塔,他們只是感情好,可當我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布危虱。 她就那樣靜靜地躺著羊娃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪埃跷。 梳的紋絲不亂的頭發(fā)上蕊玷,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天,我揣著相機與錄音弥雹,去河邊找鬼垃帅。 笑死,一個胖子當著我的面吹牛剪勿,可吹牛的內(nèi)容都是我干的挺智。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼窗宦,長吁一口氣:“原來是場噩夢啊……” “哼赦颇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赴涵,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤媒怯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后髓窜,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扇苞,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年寄纵,在試婚紗的時候發(fā)現(xiàn)自己被綠了鳖敷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡程拭,死狀恐怖定踱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恃鞋,我是刑警寧澤崖媚,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站恤浪,受9級特大地震影響畅哑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜水由,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一荠呐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦泥张、人聲如沸呵恢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至齿诉,卻和暖如春筝野,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粤剧。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工歇竟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抵恋。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓焕议,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弧关。 傳聞我的和親對象是個殘疾皇子盅安,可洞房花燭夜當晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 文本處理工具sed sed處理文本時是以行為單位的,每處理完一行就立即打印出來世囊,然后再處理下一行别瞭,直至全文處理結(jié)束...
    485b1aca799e閱讀 2,935評論 0 4
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,176評論 2 33
  • sed與awk實例 文本間隔 在每一行后面增加一空行 將原來的所有空行刪除并在每一行后面增加一空行。這樣在輸出的文...
    stuha閱讀 1,901評論 0 21
  • 知識點 sort uniq cut wc sed命令 awk命令 crontab定時器 sort sort 命令對...
  • 基礎命令 主要的命令和快捷鍵 Linux系統(tǒng)命令由三部分組成:cmd + [options]+[operation...
    485b1aca799e閱讀 1,104評論 0 0