課程
/運(yùn)維&測試
/Linux
/shell編程之正則表達(dá)式
awk在不加BEGIN的情況下 awk '{FS=":"}{printf $1 "\t" $3 "\n"}' ?先執(zhí)行哪個?
2016-04-09
源自:shell編程之正則表達(dá)式 2-4
正在回答
由于awk的執(zhí)行原理是先讀取數(shù)據(jù)再判斷條件然后執(zhí)行動作,所以awk在不加BEGIN的情況下先讀取第一行數(shù)據(jù)也就是“root:0:0:root:/root:/bin/bash”再執(zhí)行{FS=":"}、{printf $1 "\t" $3 "\n"}這兩個動作,而此時由于第一條數(shù)據(jù)已經(jīng)讀取因此{(lán)FS=":"}這一動作只對后兩條數(shù)據(jù)起作用
hcices 提問者
舉報
為你帶來shell編程中的正則表達(dá)式,能夠熟練運(yùn)用正則表達(dá)式
1 回答awk + printf
1 回答awk中$0是代表每一行的內(nèi)容吧?
1 回答printf和 awk里的printf 的格式好像完全兩碼事?
3 回答SHELL編程學(xué)習(xí)各個課程的順序是什么?
4 回答cat student.txt |grep -v "name" | awk '$4>=70{printf $2 "\n"}'
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-04-09
由于awk的執(zhí)行原理是先讀取數(shù)據(jù)再判斷條件然后執(zhí)行動作,所以awk在不加BEGIN的情況下先讀取第一行數(shù)據(jù)也就是“root:0:0:root:/root:/bin/bash”再執(zhí)行{FS=":"}、{printf $1 "\t" $3 "\n"}這兩個動作,而此時由于第一條數(shù)據(jù)已經(jīng)讀取因此{(lán)FS=":"}這一動作只對后兩條數(shù)據(jù)起作用