系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux使用文本處理工具awk

Linux如何使用文本處理工具awk

時(shí)間:2015-01-14 18:22:52 作者:qipeng 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20150114/34882.html 手機(jī)查看 評(píng)論

  awk是Linux中的文本處理工具,類似于shell編程語(yǔ)言,擁有屬于自己的語(yǔ)言,下面小編就給大家介紹下Linux中awk文本處理工具的用法,感興趣的朋友可以來(lái)了解一下。

 Linux如何使用文本處理工具awk
 

  調(diào)用方式

  1.命令行

  awk [-F field-separator] ‘commands’ input-file(s)

  commands是真正awk命令,[-F域分隔符]是可選的。input-file(s) 是待處理的文件。在awk中,文件的每一行中,由域分隔符分開的每一項(xiàng)稱為一個(gè)域。通常,在不指名-F域分隔符的情況下,默認(rèn)的域分隔符是空格(或者tab)。

  2.shell腳本方式

  將所有的awk命令插入一個(gè)文件,并使awk程序可執(zhí)行,然后awk命令解釋器作為腳本的首行,以便通過(guò)鍵入腳本名稱來(lái)調(diào)用。相當(dāng)于shell腳本首行的:#!/bin/sh 可以換成:#!/bin/awk -f

  3.將所有的awk命令插入一個(gè)單獨(dú)文件,然后調(diào)用:awk -f awk-script-file input-file(s)其中,-f選項(xiàng)加載awk-script-file中的awk腳本,input-file(s)跟上面的是一樣的。

  內(nèi)置變量

  ARGC:命令行參數(shù)個(gè)數(shù)

  ARGV:命令行參數(shù)排列

  ENVIRON:UNIX環(huán)境變量

  ERRNO:UNIX系統(tǒng)錯(cuò)誤消息

  FILENAME:awk瀏覽的文件名

  OFMT:數(shù)字的輸出格式 %.6g

  FNR:瀏覽文件的記錄數(shù)

  FS:設(shè)置輸入域分隔符,等價(jià)于命令行 -F選項(xiàng)

  NF:瀏覽記錄的域的個(gè)數(shù)

  NR:已讀的記錄數(shù),就是行號(hào),從1開始

  FNR:當(dāng)前記錄數(shù)

  OFS:輸出域分隔符

  ORS:輸出記錄分隔符

  RS:控制記錄分隔符

  $0:當(dāng)前記錄(作為單個(gè)變量)

  $1~$n:當(dāng)前記錄的第n個(gè)字段,字段間由FS分隔

  輸出函數(shù)

  print:參數(shù)可以是變量、數(shù)值或者字符串。字符串必須用雙引號(hào)引用,參數(shù)用逗號(hào)分隔。如果沒有逗號(hào),參數(shù)就串聯(lián)在一起而無(wú)法區(qū)分。這里,逗號(hào)的作用與輸出文件的分隔符的作用是一樣的,只是后者是空格而已

  printf:其用法和c語(yǔ)言中printf基本相似,可以格式化字符串,輸出復(fù)雜時(shí),printf更加好用,代碼更易懂。具體格式如下:

  %d 十進(jìn)制有符號(hào)整數(shù)

  %u 十進(jìn)制無(wú)符號(hào)整數(shù)

  %f 浮點(diǎn)數(shù)

  %s 字符串

  %c 單個(gè)字符

  %p 指針的值

  %e 指數(shù)形式的浮點(diǎn)數(shù)

  %x %X 無(wú)符號(hào)以十六進(jìn)制表示的整數(shù)

  %o 無(wú)符號(hào)以八進(jìn)制表示的整數(shù)

  %g 自動(dòng)選擇合適的表示法

  獲取外部變量

  1.獲取普通外部變量

  awk ‘{action}’ 變量名=變量值

  2.BEGIN程序塊中變量

  awk –v 變量名=變量值 [–v 變量2=值2 …] ‘BEGIN{action}’

  3.環(huán)境變量

  需要用到內(nèi)置變量ENVIRON實(shí)現(xiàn)

標(biāo)簽 命令

發(fā)表評(píng)論

0

沒有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄