一. 行距:
1. 每行間加乙個空行
awk
'1; ' filname.ext #輸出當前行,在輸出乙個空行
awk
'1 ' filname.ext
awk
' ' filname.ext
2. 1的另外一種實現方法:
awk
'begin ; 1' filname.ext #預先設定每一行的分隔符號為兩個換行;你可以嘗試把ors設定為其他的看看效果如何
3. 僅輸出非空行,並每行間在加乙個空行
awk
'nf ' filname.ext #nf表示當前行的字段數,$0表示當前行,最後再加乙個換行
4. 雙倍行距;沒行間兩個空行
awk
'1; ' filname.ext #預設輸出後會換行的,輸出/n,則會輸出兩個空白行
等同於:
awk
'' filname.ext
二. 行號和計算
5. 顯示當前行在所在檔案中的行號
awk
'' filname.ext #fnr,表示當前行在檔案中的行號
6. 顯示當前行在本次處理過程中的行號
awk
'' filname.ext #nr,表示當前行在本次處理過程中的行號
小疑問:為啥有fnr和nr的差別呢?效果不都是一樣麼? 如果你給如:filname1.ext filname2.ext,你就會看到差別了。原來:fnr,是每個檔案中的,換了乙個檔案,會歸零;而nr則每個檔案會累加起來的
7. 使用簡單樣式來輸出
awk
'' filname.ext #行號占用5位,不足補空格
8. 顯示非空行
awk
'nf ; ' filname.ext #nf前面說了,表示當前行的行號,此處用他作為條件,如果是空行,則nf為0,跳過;否則,用動態變數a儲存非空行的數目
9. 計算行數:效果類似wc -l
awk
'end ' filname.ext #end表示每行都處理完了後,在執行,此時nr就是最後一行的行號,也就是總的行數了。
10. 計算每一行的和
awk
'' filname.ext
#s用作每行和的累加,從1到nf(每行總的字段數),依次累加
11. 計算檔案中所有欄位的和
awk
'; end ' filname.ext
#s用作總和的累加,每行都處理完成了,再輸出s;注意和10對比,此處沒有每行清零,所以累加了。沒有設定的變數,預設為空,但是會根據上下文數值計算情況自動變為0
12. 將每個欄位用其絕對值代替
awk
'' filname.ext
#$i表示當前行中的字段,$0表示當前行,可以改變$i的值
13. 計算檔案中總的字段和(例如計算單詞數)
awk
'; end ' filname.ext
14. 計算匹配指定資訊的總行數
awk
'/linux/ ; end ' filname.ext
15. 找到檔案中每行第乙個欄位中,最大的數,以及其所在的行
awk
'$1 > max ; end ' filname.ext
#用max儲存最大的數,maxline儲存最大數所在的行,並在最後輸出
16. 顯示當前行的字段數,並輸出當前行
awk
' ' filname.ext
17. 顯示每行最後乙個欄位的內容
awk
'' filname.ext #nf表示當前行的字段數,例如為3,則$nf,就是$3,也就是第三個欄位了
18. 顯示最後一行的最後乙個字段
awk
'; end ' filname.ext
#每行處理沒有輸出,盡在最後輸出,field作為每行的最後一行的暫存變數
19. 顯示字段數小於4的行
awk
'nf < 4' filname.ext #{}以外的內容,作為條件,沒有{},則預設輸出當前行
20. 顯示每行的最後乙個字段小於4的行
awk
'$nf < 4' filname.ext #注意和19對比
awk行號相關的操作
awk行號相關的操作,個人認為寫的非常好 一.行距 1.每行間加乙個空行 1 awk 1 filname.ext 輸出當前行,在輸出乙個空行 2 awk 1 filname.ext 3 awk filname.ext 2.1的另外一種實現方法 1 awk begin 1 filname.ext 預先...
行距和對齊方式
最早埃及有象形文本,蘇美爾有楔形文字,都不是拼音文字,但埃及的象形文本肯定不是語言的記錄,只是它們都湮滅了。說文字是記錄語言的符號,還有乙個原因,就是現在還有很多民族,只有語言沒有文字。但是這不能證明中國文字也是語言的記錄,也就是說不能證明中國文字產生在語言之後。人類最早在地上或岩石上畫畫時,可能五...
計算改變行距的label高度
改變行距 textstr uilabel的text void setspaceline uilabel label string nsstring textstr str 要現實的 字串 font 字型 labwidth lab最大寬度 linespacing 行間距 numberoflines 顯...