ウェブサイト検索
変数は、あらゆるプログラミング言語で一時的に値を保存するために使用されます。 awk コマンドでの変数の定義は bash スクリプト言語に似ており、シェル変数が一重引用符と二重引用符で使用される場合は bash のように動作します。 awk コマンドには、さまざまな目的に使用できる組み込み変数が多数あります。このチュートリアルでは、さまざまな例を使用して、awk コマンドでユーザー定義変数、組み込み変数、およびシェル変数を使用する方法を示します。
「awk」コマンドは「-v」オプションを使用して変数を定義します。この例では、myvar 変数が「awk」 コマンドで定義され、後で出力される値「AWK 変数 」 を保存します。ターミナルから次のコマンドを実行して出力を確認します。
ループは、一部のステートメントを複数回実行するために使用されます。終了条件または配列要素の数に基づくループの繰り返し。 3 種類のループは、どのプログラミング言語でもサポートされています。 for ループもその 1 つです。 for ループは 2 つの方法で宣言できます。シンプルな for ループには 3 つの部分が含まれています。もう 1 つの for ループは、データまたは配列のリストを反復するために使用される for-in ループです。このチュートリアルでは、さまざまな例を使用して、awk コマンドでのこれら 2 種類のループの使用方法を示します。
for ループ宣言:
配列変数は、複数のデータを格納するために使用されます。複数のデータを保存することは、ほとんどのプログラミング言語でサポートされています。配列には 2 つの部分があります。これらはキーと値です。キーは値の場所にアクセスするために使用されます。配列には数値配列と結合配列を使用できます。数値配列はキーとして数値のみをサポートし、連想配列はキーとして数値とインデックス値の両方をサポートします。連想配列はawkコマンドでサポートされています。このチュートリアルでは、さまざまな例を使用して、awk コマンドで連想配列を定義、アクセス、または変更する方法を示します。
条件ステートメントは、特定の条件に基づいてステートメントを実行するために、任意のプログラミング言語で使用されます。プログラミングで条件文を記述するために if-else および if-elseif 文が使用される場合、条件文は true または false の値に基づいて実行されます。 awk は、他のプログラミング言語と同様に、あらゆる種類の条件文をサポートしています。このチュートリアルでは、awk コマンドでさまざまな条件ステートメントを使用する方法を示します。
4 種類の条件文の構文を以下に示します。
if ステートメント
Linux awk コマンド (開発者の名前、Aho、Weinberger、Kernighan の略称) は、文字列ファイルを処理および分析する優れた方法です。ファイルの情報をさらに多くするには、ファイルを行と列の形式で編成する必要があります。次に、これらのファイルに対して awk を使用して、次のことを行うことができます。
ファイルを 1 行ずつスキャンします。
各行をフィールド/列に分割します。
パターンを指定し、ファイルの行をそれらのパターンと比較します。
指定されたパターンに一致する行でさまざまなアクションを実行します
この記事では、awk コマンドの基本的な使用法と、awk コマンドを使用して文字列ファイルを分割する方法について説明します。この記事の例は Debian 10 Buster システムで実行しましたが、ほとんどの Linux ディストリビューションでも簡単に複製できます。
`tab` はタブ区切りファイルの区切り文字として使用されます。このタイプのテキスト ファイルは、さまざまなタイプのテキスト データを構造化された形式で保存するために作成されます。 Linux には、このタイプのファイルを解析するためのさまざまなタイプのコマンドが存在します。 `awk` コマンドは、タブ区切りファイルをさまざまな方法で解析する方法の 1 つです。このチュートリアルでは、タブ区切りファイルを読み取るための「awk」コマンドの使用方法を示しました。
このチュートリアルのコマンドをテストするには、次の内容を含むusers.txt という名前のテキスト ファイルを作成します。このファイルには、ユーザーの名前、電子メール、ユーザー名、パスワードが含まれています。
users.txt
正規表現 (regex) は、ファイル内の特定の文字シーケンスを検索するために使用されます。文字、数字、特殊文字などの記号を使用してパターンを定義できます。正規表現パターンを使用すると、さまざまなタスクを簡単に完了できます。このチュートリアルでは、「awk」コマンドで正規表現パターンを使用する方法を示します。
正規表現パターンの定義には多くの文字を使用できます。正規表現パターンを定義するために最も一般的に使用される文字を以下に定義します。
新しいメタキャラクターを引用する
行頭と一致する
行末と一致する
代替を定義する
グループを定義する
< 続きを読む →Linux では「awk」コマンドをさまざまな方法で使用できます。たとえば、テキスト ファイルの内容を印刷するために使用できます。多くのテキスト ファイルの最初の行にはファイルの見出しが含まれており、ファイルの内容を印刷するときに最初の行をスキップする必要がある場合があります。このチュートリアルでは、「awk」コマンドを使用してこのタスクを実行する方法を示します。
このチュートリアルを進めるには、次の内容を含む booklist.txt という名前のタブ区切りのテキスト ファイルを作成します。このファイルには、書籍のリストと対応する著者が含まれています。このチュートリアルでは、最初の行をスキップした後、このファイルのさまざまな部分を印刷する方法を示します。
Linux の「awk」コマンドは、検索、置換、印刷など、テキスト ファイルに対するさまざまな操作を実行できる強力なユーティリティです。フィールド区切り文字に基づいて各行がフィールドまたは列に自動的に分割されるため、表形式データでの使用が簡単です。表形式のデータを含むテキスト ファイルを操作し、特定の列のデータを出力したい場合は、`awk` コマンドが最適なオプションです。このチュートリアルでは、行またはテキスト ファイルの最初の列および/または最後の列を印刷する方法を説明します。
コマンド出力の最初の列および/または最後の列を出力します。
「ls」コマンドなどの多くの Linux コマンドは、表形式の出力を生成します。ここでは、「ls -l」コマンドの出力から最初の列および/または最後の列を出力する方法を説明します。
次の「awk」コマンドは、「ls -l」コマンドの出力から最初の列を出力します。
「awk」コマンドは、Linux で表形式のデータから一連の列を出力するために使用できる多くのコマンドのうちの 1 つです。 「awk」コマンドは、「awk」スクリプトファイルを実行することでターミナルから直接使用できます。このチュートリアルでは、表形式のデータから一連の列を印刷する方法を説明します。
次のコマンドは、コマンド出力の 2 番目、3 番目、および 4 番目の列を出力します ‘ls -l‘。ここでは列番号が明示的に指定されていますが、同じ範囲の列を印刷するためのより効率的なコマンドを次の例に示します。
$ 続きを読む →