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