Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linux /UNIX Awkコマンドチュートリアルの例  AWKはAho、Weinberger、Kernighanを表します。
Awkは、テキストファイルの処理または分析に使用されるスクリプト言語です。あるいは、awkは主に、列またはフィールド、あるいは列のセットに基づいてデータをグループ化するために使用されていると言えます。主にデータを便利な方法で報告するために使用されます。また、開始ブロックと終了ブロックを使用してデータを処理します。

awkの構文:

#a

Linux /UNIX Awkコマンドチュートリアルの例  AWKはAho、Weinberger、Kernighanを表します。
Awkは、テキストファイルの処理または分析に使用されるスクリプト言語です。あるいは、awkは主に、列またはフィールド、あるいは列のセットに基づいてデータをグループ化するために使用されていると言えます。主にデータを便利な方法で報告するために使用されます。また、開始ブロックと終了ブロックを使用してデータを処理します。

awkの構文:

#a

  
Ram /’ awk_fileRam、200、1000Hari、600、1000Ram、400、1000例:4名前の最初の列にユニークな値があるかどうか

linuxtechi @ mail:〜$ awk -F、‘ {a [$ 1];} END {for(i in a)印刷i;}’ awk_fileAbharamHariNameGhyanshamRamShyam


例:5特定の列のデータエントリの合計を見つける方法

構文:awk -F、‘ $ 1 ==' Item1″ {x + = $ 2;} END {print x}’ awk_file

linuxtechi @ mail:〜$ awk -F、‘ $ 1 ==' Ram' {x + = $ 2;} END {print x}’ awk_file600Example:6ある列のすべての数字の合計を見つける方法

たとえば、2列目と3列目を取ります。

linuxtechi @ mail:〜$ awk -F'、' ‘ {x + = $ 2} END {print x}’ awk_file3500 linuxtechi @ mail:〜$ awk -F'、' ‘ {x + = $ 3} END {print x}’ awk_file5000Example:7個々のグループレコードの合計を見つける方法

たとえば、最初の列を考慮すると、項目に基づいて最初の列の合計を計算できます。

linuxtechi @ mail: 〜$ awk -F、‘ {a [$ 1] + = $ 2;} END {{(i in a)print i'、' a [i];}’ awk_fileAbharam、800Hari、600Name、0Ghyansham、1000Ram、600Shyam、500



例:8 2列目の全エントリの合計を求めてそれを末尾に追加する方法

linuxtechi @ mail:〜$ awk -F'、' ‘ {x + = $ 2; y + = $ 3; print} END {print' Total、' x、y}’ awk_fileName、Marks、Max MarksRam、200,1000Shyam、500,1000Ghyansham、1000Abharam、800,1000Hari、600,1000Ram、400,1000Total、3500 5000例:9最初の列に基づいて各列のエントリ数を見つける方法:

linuxtechi @ mail:〜$ awk -F、‘ {a [$ 1] ++;} END {(iの中のiを印刷する)、a [i];}’ awk_fileAbharam 1Hari 1Name 1Ghyansham 1Ram 2Shyam 1例:10すべてのグループの最初のレコードのみを印刷する方法:

linuxtechi @ mail:〜$ awk -F、‘!a [$ 1] ++’ awk_fileName、Marks、Max MarksRam、200,1000Shyam、500,1000Ghyansham、1000Abharam、800,1000Hari、600,1000AWKブロックの開始

BEGINブロックの構文は

#awk‘ BEGIN {awk初期化コード} {実際のAWKコード}’ filename.txt

以下の内容のデータファイルを作成しましょう。

awkのデータファイル


例:11各列の名前とそれに対応するデータを生成する方法。

linuxtechi @ mail:〜$ awk‘ BEGIN {名前> \\ tPotal \\ tPoc \\ txls'} {printf'% - s \\ t%d \\ t%d \\ t%d \\ t%d \\ n'、 $ 1、$ 2、$ 3、$ 4、$ 5}’ datafile

例:12フィールドセパレータの変更方法

スペースがデータファイルのフィールドセパレータであることがわかりますので、以下の例では、フィールドセパレータをスペースから'に変更します。 '

linuxtechi @ mail:〜$ awk‘ BEGIN {OFS ='

Copyright © Windowsの知識 All Rights Reserved