tft每日頭條

 > 生活

 > awk命令所有選項的詳解

awk命令所有選項的詳解

生活 更新时间:2025-01-31 18:51:44

Linux三劍客awk命令補充篇:簡單案例分析

關于awk的原理等基本知識請參考上五篇:

Linux三劍客awk命令篇一之原理及基本命令

Linux三劍客awk命令篇二之命令操作符

Linux三劍客awk命令篇三之内部變量

Linux三劍客awk命令篇四之流程控制語句

Linux三劍客awk命令篇五之引用shell變量

Linux三劍客awk命令篇五之引用shell變量的幾種方式

案例1:

操作文件,按文件内單詞出現頻率降序排序并輸出每個單詞的數量。

輸入,文件内單詞以空格分隔。

輸出,單詞數量 單詞

方法不限。

既然是awk補充篇,我們先用awk來實現。

(1)思路:

讓所有單詞排成一列,使每個單詞成為單獨的一行。

再利用sort排序和uniq計數簡單處理。

(2) 解答:

步驟1:

模拟數據

awk命令所有選項的詳解(Linux三劍客awk命令補充篇)1

步驟2:

利用awk處理數據

即讓所有單詞排成一列,使每個單詞成為單獨的一行。

awk 'BEGIN{RS="[ ] "}{print $0}' word.txt

補充:

RS(record separator):輸入輸出數據記錄分隔符

表示每個記錄輸入的時候的分隔符,既行與行之間分隔符。

RS="[ ] ":即表示以一個或者多個空格

awk命令所有選項的詳解(Linux三劍客awk命令補充篇)2

步驟3:

将輸出結果交給sort排序

awk 'BEGIN{RS="[ ] "}{print $0}' word.txt | sort

awk命令所有選項的詳解(Linux三劍客awk命令補充篇)3

步驟4:

使用uniq進行計數

awk 'BEGIN{RS="[ ] "}{print $0}' word.txt | sort | uniq -c

awk命令所有選項的詳解(Linux三劍客awk命令補充篇)4

步驟5:

再對uniq後的結果進行排序,以單詞出現頻率降序

awk 'BEGIN{RS="[ ] "}{print $0}' word.txt | sort | uniq -c| sort

awk命令所有選項的詳解(Linux三劍客awk命令補充篇)5

這裡解決這個問題的方法不止一種,可能還會有更加簡單直接的方法。

歡迎大家給予寶貴的意見或者建議。

歡迎大家補充或者共享一些其他的方法。

感謝支持。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved