歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell中sed和awk的一些用法和例子

shell中sed和awk的一些用法和例子

日期:2017/2/28 14:23:10   编辑:SHELL編程

介紹

做運維的應該經常用sed和awk這兩個工具,但要想把他們用得好絕非易事,需要長時間的積累,本文就粗略的談談日常中用到的一些例子。

正文

1 如何在shell中獲取字符串string的長度

echo ${#string}
2 替換文件text中一個或多個空格

sed -i "s/ \+/||/g" test
注釋:\+意思是之前字符的一個或多個

3 刪除文件text中“[”和“]”兩個字符

sed -i -e "s/\[//g" -e "s/\]//g" text

4 文本text的每一列以逗號分隔,現在要刪除第六列,然後輸出其他列,每一列以空格分隔

awk 'BEGIN{FS=",";OFS=" "}{$6="";print $0}'

5 輸出每個用戶所占用的CPU百分比

top -bn 1 | awk '{if (NR>7) print $0}' | awk '{sum[$2]+=$9}END{for (i in sum) printf "%.2f %s\n" ,sum[i],i}' | sort -nr

6 統計nginx的access.log中每個url的訪問數和流量,輸出前10名


awk '{print $7"\t" $10}' access_2010-12-8.log|awk '{S[$1]+=$2;S1[$1]+=1}END{for(i in S) print S[i],S1[i],i}'|sort -rn|head -10

以下鏈接你也可以看看哦

在sed命令中引入shell變量 http://www.linuxidc.com/Linux/2014-03/97896.htm

Linux下Shell編程——sed命令基本用法 http://www.linuxidc.com/Linux/2013-06/85526.htm

Unix文本處理工具之sed http://www.linuxidc.com/Linux/2013-08/89315.htm

sed 高級用法 http://www.linuxidc.com/Linux/2014-09/106961.htm

sed命令詳解與示例 http://www.linuxidc.com/Linux/2014-11/109325.htm

Linux文本處理工具之sed http://www.linuxidc.com/Linux/2015-01/111436.htm

Shell腳本之AWK文本編輯器語法 http://www.linuxidc.com/Linux/2013-11/92787.htm

正則表達式中AWK的學習和使用 http://www.linuxidc.com/Linux/2013-10/91892.htm

文本數據處理之AWK 圖解 http://www.linuxidc.com/Linux/2013-09/89589.htm

如何在Linux中使用awk命令 http://www.linuxidc.com/Linux/2014-10/107542.htm

文本分析工具-awk http://www.linuxidc.com/Linux/2014-12/110939.htm

Copyright © Linux教程網 All Rights Reserved