好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Shell腳本中awk指令的用法

Shell腳本中awk指令的用法

熱門標簽:武漢語音電銷機器人加盟 房產證地圖標注的兩個面積 地圖標注x是啥意思 同花順電話機器人微信 外呼系統的合法性 北京電銷機器人對市場的影響 輝縣市地圖標注 威海電銷外呼系統好用嗎 湖北孝感如何辦理

語法格式:awk [選項]  '指令'  操作文件

常用選項:-F  指定分隔符,分隔符用""引起來

  • -v:var=value在awk程序開始之前指定一個值valu給變量var,這些變量值用于awk程序的BEGIN快
  • -f:后面跟一個保存了awk程序的文件,代替在命令行指定awk程序

實例1:在命令行直接輸入awk指令

awk '{print}' 1.txt  #逐行讀取文件1.txt內容并打印

awk '{print $0}' 1.txt #逐行讀取文件內容,并打印該行,$0保存的是當前行的內容

awk '{print "hello"}' 1.txt  #逐行讀取1.txt文件內容,每行結束后打印一個hello,文件1.txt有多少行就打印多少個hello

awk '{print $1}'  1.txt  #打印1.txt的第一列內容,在不指定分割符的情況下,awk默認使用空白做分割符

awk  -F ":" '{print $1}' /etc/passwd   #以":"為分隔符打印/etc/passwd文件的第一例內容

實例2:將awk指令寫入文件,通過-f選項調用

vim awkscript
BEGIN {
FS=":"
}
{print $1}
awk -f awkscript /etc/passwd #通過調用awk指令文件來執行awk命令

實例3:awk的BEGIN塊和END塊

BEGIN用于初始化FS變量(列分隔符),打印標題,或者初始化后需要在程序中調用的全局變量

END用于執行最后的運算或者打印最終的輸出結果

END塊和BEGIN不是必須的

實例4:在awk中使用正則匹配,正則表達式必須要放在//中

awk '/123/{print}'  1.txt  #打印1.txt中匹配123的那一行內容

awk -F ":"  '/123/{print $2}' 1.txt  #以":"為分隔符打印1.txt中匹配123的那一行中,第二列的內容

awk -F ":" '$1 ~ /root/{print $2}'  /etc/passwd #打印/etc/passwd中,第一列匹配root的行其第二列的內容 ~表示匹配

實例5:awk的表達式和塊

awk提供了多個比較操作符:"=="  ">" ""  "=" ">="  "!="   "~"匹配    "!~"不匹配

awk 'BEGIN{ FS=":"} $1 == "root" {print $3}'  /etc/passwd #以":"為分隔符,打印/etc/passwd中第一列是root的行其第3列的內容

實例6:awk中的條件語句

awk 'BEGIN {FS=":"} {if ($1 ~ "root") {print $2}}'  /etc/passwd # 以":"為分隔符,打印/etc/passwd文件中第一列匹配root的行,其第二列的內容

awk 'BEGIN {FS=":"} ($1 ~ "linux" || $2 ~ "Network") {print $3}'  1.txt # 以":"為分隔符,打印1.txt文件中,第一列匹配linux或者第二列匹配Network的行,其第三列的內容

在awk中NF變量記錄的是當前行中有多少列(默認是空格為分割符)

awk '/ock/{print NF}' 1.txt # 統計匹配ock的行有多少列

awk 'NF == 3 {print}'  1.txt  #打印1.txt中有3列的行的內容,示例中,第二行有三列,所以打印的就是第二行的內容

$NF記錄的是當前行最后一列的內容(如果每一行有多列內容)

awk '{if (NR > 3) {print $NF} }' 1.txt    # 輸出1.txt中行號大于3的行,其最后一列的內容 

NR記錄的是當前行的行號

awk '{if (NR > 3) {print NR".\t"$0} }' 1.txt  #格式化輸入1.txt中行號大于3的行的行號和內容

awk 'BEGIN { x=0 } /^$/{x=x+1} END{print "find" " " x " " "blank lines"}'  1.txt  #統計1.txt中有多少空行

awk '{print ($2**2) +1}'  3.txt  #將3.txt文件中第二列內容做平方運算后再加1輸入(字符串做平方運算后結果為0)

awk腳本示例1:

功能:打印1.txt文本中每一列的內容

#!/bin/bash
num=`wc 1.txt | awk '{print $2}'`   # 統計1.txt文件有多少列
for i in `seq 1 $num`            # 根據文件列數進行循環
do
 awk -v a=$i '{print $a}' 1.txt     # 打印每一列的內容,-v 參數可以指定一個變量保存外部變量的值,將外部變量傳遞給awk
done

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • shell腳本之正則表達式、grep、sed、awk
  • Shell正則表達式之grep、sed、awk實操筆記
  • Linux shell中的printf的詳細用法
  • shell學習之printf命令格式化輸出語句
  • shell 里 awk print 的用法詳解

標簽:日喀則 麗江 迪慶 紹興 蚌埠 安康 武威 西寧

巨人網絡通訊聲明:本文標題《Shell腳本中awk指令的用法》,本文關鍵詞  Shell,腳本,中,awk,指令,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell腳本中awk指令的用法》相關的同類信息!
  • 本頁收集關于Shell腳本中awk指令的用法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美人与zooz| 色欲狠狠躁天天躁无码中文字幕| 卡通动漫第五页| 《隔壁的人妻》波多野结衣| 麻花影视在线观看电视剧的优点| pregnanttube临盆| 国产又爽?又黄?免费软件| 久热少妇中文字字幕在线| 日本孕妇大胆孕交| 纯洁轮舞曲在线观看| 69女性XXxXⅩ丰满HD图片| 国产在线拍揄拍自揄拍无码资源网| 欧美孕妇性xx| 中文字幕视频二区三区| 日韩性生活| 亚洲熟女91网| 久久久久久精品毛片免费观看| 国产精品亚洲精品已满sex| 爱上嫂子的床| 钟丽缇版色戒未删减在线观看| 日本漫画之口工番全彩H漫画大全 全彩催眠侵犯H本子全彩 | 医生揉肉蒂高潮H失禁| 国产AV?无码?高潮?白桃| 97国产在线视频公开免费| 99国产精品欲AV喷水| 午夜久久久久久亚洲国产精品| 女同久久另类99精品国产| 暴露调教跪趴玉势| 亚洲国产老鸭窝一区二区三区 | 岳你夹得好紧好爽口述| 日本免费毛片无码无遮挡| 嗯啊视频在线| 最近中文字幕完整版资源| 羞羞漫画成年人| 女性干涩没水用什么油替代| 亚洲欧美成人影院ppypp| 日本免费xxxx色视频| 在线亚洲国产一区欧美-色猫AV| 都市极乐后宫白玉糖| 片多多最新影视免费| 欧美成网站|