awk實用小技巧

awk 'NF'


過濾空白行


awk '!a[$0]++'


過濾重複行


awk 'NF-=2'


過濾掉最後兩列


awk 'a=!a'


打印奇數行


awk '!(a=!a)'


打印偶數行


awk 'END{print NR}'


模擬wc -l


awk 'BEGIN{print "'\''"}'


打印單引號,print後邊依次爲:雙引號單引號轉義單引號單引號雙引號


awk 'BEGIN{print "\""}'


打印雙引號,print後邊依次爲:雙引號轉義雙引號雙引號


awk 'BEGIN{RS="";FS="\n"}{print NF}'


以一個空行爲每段文本的分割標準,統計每段文本的行數


awk -vRS="\n\n" -vOFS=" " '$1=$1'


以一個空行爲每段文本的分割標準,把一段文字整合成一行


awk  '{a=$2;$2=$4;$4=a}1'


列交換


awk '/[^!-~]/'


打印包含中文的行


awk '/[!-~]/'


這個不解釋了會上一個就會這個了,重點說一下執行這個名列前最好執行下LANG=C


awk 'NF{a=$NF}END{print a}'


打印最後一行最後一個單詞


awk '{print $1 > "file"}' file


只保留file的第一列(危險直接修改文件內容)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章