GNU/Linux >> Linux の 問題 >  >> Linux

Linux/UnixでのAWKコマンド

AWKはパターンの検索と処理に適しています。スクリプトを実行して1つ以上のファイルを検索し、一致するパターンを特定し、それらのパターンが特定のタスクを実行するかどうかを確認します。このガイドでは、AWK Linuxコマンドを調べて、何ができるかを確認します。

AWKでできる操作は何ですか?

  • ファイルを1行ずつスキャンする
  • 各入力行をフィールドに分割する
  • 入力行とフィールドをパターンと比較する
  • 一致する行に対して指定されたアクションを実行する

AWKコマンドの有用性

  • データファイルの変更
  • フォーマットされたレポートの作成

awkコマンドのプログラミングの概念

  • 出力行をフォーマットする
  • 条件とループ
  • 算術演算と文字列演算

AWK構文

$ awk options 'selection _criteria {action }' input-file > output-file

AWKの使用法について詳しく説明するために、 file.txtというテキストファイルを使用します。

1列目=>アイテム、
2列目=>モデル
3列目=>国
4列目=>コスト

Awkコマンドの例

特定の列の印刷

2列目と3列目を印刷するには、以下のコマンドを実行します。

$ awk '{print $2 "\t" $3}' file.txt

出力

ファイル内のすべての行を印刷する

ファイル内のすべての行と列を一覧表示する場合は、

を実行します。
$ awk ' {print $0}' file.txt

出力

特定のパターンに一致するすべての線を印刷する

特定のパターンに一致する行を印刷する場合、構文は次のようになります

$ awk '/variable_to_be_matched/ {print $0}' file.txt

たとえば、すべてのエントリを文字「o」と一致させるには、構文は次のようになります

$ awk '/o/ {print $0}' file.txt

出力

すべてのエントリを文字「e」と一致させるには

$ awk '/e/ {print $0}' file.txt

出力

特定のパターンに一致する列を印刷する

AWKがパターン一致を見つけると、コマンドはレコード全体を実行します。特定のフィールドのみを表示するように指示を出すことで、デフォルトを変更できます。

例:

$ awk '/a/ {print $3 "\t" $4}' file.txt

上記のコマンドは、文字「a」がいずれかの列に表示される3番目と4番目の列を出力します

出力

一致したパターンのカウントと印刷

AWKを使用して、一致するすべてのパターンの行数をカウントして印刷できます。たとえば、次のコマンドは、一致するパターンが表示されるインスタンスの数をカウントします

$ awk '/a/{++cnt} END {print "Count = ", cnt}' file.txt

出力

文字数が多いまたは少ない行を印刷する

AWKには、文字列の長さを返す組み込みの長さ関数があります。コマンドから$0変数は行全体を格納し、本文ブロックがない場合は、デフォルトのアクション、つまり印刷アクションが実行されます。したがって、テキストファイルでは、1行に18文字を超える場合、比較結果はtrueになり、その行は次のように出力されます。

$ awk 'length($0) > 20' file.txt

出力

AWKの出力を別のファイルに保存する

結果の出力を保存する場合は、>リダイレクト演算子を使用します。例

$ awk '/a/ {print $3 "\t" $4}' file.txt > Output.txt

以下に示すように、catコマンドを使用して結果を確認できます

$ cat output.txt

出力

結論

AWKは、ドキュメント内のテキストを操作したり、特定の機能を実行したりするために使用できるもう1つの単純なプログラミングスクリプトです。共有コマンドは、まだ知らない、または出くわさない少数または多数です。


Linux
  1. Linuxwcコマンド

  2. Linuxgrepコマンド

  3. Linux での ln コマンドの例

  1. Linux /UNIXAwkコマンドチュートリアルと例

  2. Linux での file コマンドの例

  3. UNIX/Linux での tail コマンドの例

  1. Linuxテールコマンド

  2. Linuxタッチコマンド

  3. LinuxでのCatコマンド