ホームページ php教程 php手册 awkの紹介と勉強ノート集 ページ 1/3

awkの紹介と勉強ノート集 ページ 1/3

Jun 13, 2016 pm 12:28 PM
awk そして 改訂 プロトコル 勉強 集める ノート 導入

Copyright © 2004 この記事は GPL 契約に準拠しており、転載、変更、配布は歓迎されています。

初発売日: 2004 年 8 月 6 日


---------------------- ---- ------------------------------------------------ ---- ---

目次

1. awk の概要
2. awk コマンドの形式とオプション
2.1. awk 構文には 2 つの形式があります
2.2.コマンドオプション
3. モードと操作
3.2. 操作
5. awk 演算子
6.レコード
6.2. ドメイン
7. gawk 固有の正規表現メタ文字
9. 比較演算子 (~)
11. 範囲テンプレート
12. passwd ファイルの有効性を検証する例
14. awk プログラミング
14.2. 🎜>14.3. END モジュール
14.5. 条件付きステートメント
14.7. awk の内部構造
15.
1. awk の概要
awk は、linux/unix でテキストとデータを処理するために使用されるプログラミング言語です。データは、標準入力、1 つ以上のファイル、または他のコマンドの出力から取得できます。ユーザー定義関数や動的正規表現などの高度な機能をサポートしており、Linux/Unix での強力なプログラミング ツールです。コマンドラインから使用されますが、スクリプトとして使用されることが多くなります。 awk がテキストとデータを処理する方法は、最初の行から最後の行までファイルを 1 行ずつスキャンして、特定のパターンに一致する行を探し、これらの行に対して必要な操作を実行することです。処理アクションが指定されていない場合は、一致する行が標準出力 (画面) に表示されます。モードが指定されていない場合は、操作で指定されたすべての行が処理されます。 awk はそれぞれ、作成者の姓の最初の文字を表します。それは、著者がアルフレッド・アホ、ブライアン・カーニハン、ピーター・ワインバーガーの3人だからです。 gawk は awk の GNU バージョンであり、Bell Labs と GNU からのいくつかの拡張機能を提供します。以下に紹介する awk は GUN の gawk を例にしています。Linux システムでは awk は gawk にリンクされているため、以下はすべて awk を使用して導入されます。

2. awk コマンドの形式とオプション
2.1. awk 構文には 2 つの形式があります。
awk [オプション] 'script' var=value ファイル

awk [ options] -f scriptfile var=value file(s)

2.2. コマンドオプション
-F fs または --field-separator fs
入力ファイルの区切り文字を指定します。fs は文字列または-F: などの正規表現。

-v var=value または --assign var=value
ユーザー定義変数を割り当てます。

-f scripfile または --file scriptfile
スクリプト ファイルから awk コマンドを読み取ります。

-mf nnn および -mr nnn
nnn 値に固有の制限を設定します。-mf オプションは nnn に割り当てられる最大ブロック数を制限し、-mr オプションはレコードの最大数を制限します。これら 2 つの関数は、ベル研究所バージョンの awk の拡張機能であり、標準の awk には適用できません。

-W Compact または --compat、-W traditional または --traditional
互換モードで awk を実行します。したがって、gawk は標準の awk とまったく同じように動作し、すべての awk 拡張機能は無視されます。

-W copyleft または --copyleft、-W copyright または --copyright
簡単な著作権情報を出力します。

-W help または --help、-W uses または --usage
すべての awk オプションと各オプションの簡単な説明を出力します。

-W lint または --lint
従来の UNIX プラットフォームに移植できない構造に関する警告を出力します。

-W lint-old または --lint-old
レガシー UNIX プラットフォームに移植できない構造に関する警告を出力します。

-W posix
互換モードをオンにします。ただし、次の制限があり、認識されません: x、関数キーワード、func、エスケープ シーケンス、fs がスペースの場合、改行はフィールド区切り文字として使用されます。演算子 ** および **= は ^ を置き換えることはできません。 ^= ;ffflush は無効です。

-W re-interval または --re-inerval
括弧式 [[:alpha:]] などの間隔正規表現の使用を許可します。(grep の Posix 文字クラス) を参照してください。

-W ソース プログラム テキスト または --ソース プログラム テキスト
プログラム テキストをソース コードとして使用します。これは、-f コマンドと混合できます。

-W version または --version
バグ レポート情報のバージョンを出力します。

3. モードと操作
Awk スクリプトは次のモードと操作で構成されます:
パターン {action} ($awk '/root/' test、または $awk '$3
両方ともオプションです。パターンがない場合、アクションはすべてのレコードに適用されます。デフォルトでは、各入力行はレコードですが、ユーザーは RS 変数を使用して異なる区切り文字を指定できます。

3.1. パターン
パターンは次のいずれかになります:

/正規表現/: ワイルドカードを使用した拡張セット。

関係式: 以下の演算子テーブルの関係演算子を使用して、文字列または数値の比較を行うことができます。たとえば、$2>%1 は 2 番目のフィールドを選択します。最初のフィールドはOKです。

パターン マッチング式: 演算子 ~ (一致) と ~! (不一致) を使用します。

モード、モード: 行の範囲を指定します。この構文には BEGIN パターンと END パターンを含めることはできません。

BEGIN: ユーザーは、最初の入力レコードが処理される前に実行されるアクションを指定できます。通常は、ここでグローバル変数を設定できます。

END: 最後の入力レコードが読み取られた後にユーザーにアクションを実行させます。

3.2. オペレーション
オペレーションは、改行またはセミコロンで区切られ、中かっこで囲まれた 1 つ以上のコマンド、関数、式で構成されます。主要な部分は 4 つあります:

変数または配列の割り当て

出力コマンド

組み込み関数

制御フロー コマンド

4 . awk awk
の環境変数 表 1. awk

の環境変数 変数 説明
$n 現在のレコードの n 番目のフィールド。フィールドは FS で区切られます。
$0 入力レコードを完了します。
ARGC コマンドラインパラメータの数。
ARGIND コマンドライン内の現在のファイルの位置 (0 から数えます)。
ARGV コマンドライン引数を含む配列。
CONVFMT デジタル変換形式 (デフォルト値は %.6g)
ENVIRON 環境変数の連想配列。
ERRNO 最後のシステムエラーの説明。
FIELDWIDTHS フィールド幅リスト (スペースバーで区切られています)。
FILENAME 現在のファイル名。
FNR NR と同じですが、現在のファイルを基準とします。
FS フィールド区切り文字 (デフォルトは任意のスペース)。
IGNORECASE true の場合、大文字と小文字を無視した一致を実行します。
NF 現在のレコード内のフィールドの数。
NR 現在のレコード番号。
OFMT デジタル出力形式 (デフォルト値は %.6g)。
OFS 出力フィールドの区切り文字 (デフォルト値はスペース)。
ORS 出力レコード区切り文字 (デフォルト値は改行文字)。
RLENGTH match 関数によって照合された文字列の長さ。
RS レコード区切り文字 (デフォルトは改行文字)。
RSTART match 関数によって一致した文字列の最初の位置。
SUBSEP 配列添字区切り文字 (デフォルト値は

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DingTalk のグループ内の個人名を変更する方法_DingTalk のグループ内の個人名を変更する方法 DingTalk のグループ内の個人名を変更する方法_DingTalk のグループ内の個人名を変更する方法 Mar 29, 2024 pm 08:41 PM

1. まずDingTalkを開きます。 2. グループ チャットを開き、右上隅にある 3 つの点をクリックします。 3. このグループで私のニックネームを見つけます。 4. クリックして入力し、変更して保存します。

小紅書メモを削除する方法 小紅書メモを削除する方法 Mar 21, 2024 pm 08:12 PM

小紅書メモを削除するにはどうすればよいですか? メモは小紅書アプリで編集できます。ほとんどのユーザーは小紅書メモの削除方法を知りません。次に、エディターがユーザーに小紅書メモの削除方法に関する写真とテキストを提供します。チュートリアル、興味のあるユーザーが来て、それを受講してください見てください!小紅書使い方チュートリアル 小紅書メモの削除方法 1. まず小紅書アプリを開いてメインページに入り、右下隅の[自分]を選択して特別エリアに入ります; 2. 次に、マイエリアで、表示されているメモページをクリックします下の図で、削除したいメモを選択します; 3. メモページに入り、右上隅の [3 つの点] をクリックします; 4. 最後に、下部に機能バーが展開され、[削除] をクリックして完了します。

小紅書に投稿したメモが見つからない場合はどうすればよいですか?送信したばかりのメモが見つからない理由は何ですか? 小紅書に投稿したメモが見つからない場合はどうすればよいですか?送信したばかりのメモが見つからない理由は何ですか? Mar 21, 2024 pm 09:30 PM

小紅書のユーザーとして、私たちは皆、公開されたノートが突然消えてしまう状況に遭遇したことがありますが、間違いなく混乱し、心配しています。この場合、どうすればよいでしょうか?この記事では、「小紅書が公開したメモが見つからない場合の対処方法」というテーマに焦点を当て、詳細な回答を提供します。 1. 小紅書が発行したメモが紛失した場合はどうすればよいですか?まず、パニックにならないでください。メモがなくなっていることに気づいた場合は、パニックに陥らず、落ち着いて行動することが重要です。これは、プラットフォームのシステム障害または操作エラーが原因である可能性があります。リリース記録の確認も簡単です。小紅書アプリを開き、「自分」→「公開」→「すべての出版物」をクリックするだけで、自分の出版記録を表示できます。ここでは、以前に公開されたノートを簡単に見つけることができます。 3.再投稿。見つかったら

Douyin Blue V の名前は変更できますか?法人Douyin Blue Vアカウントの名前を変更する手順は何ですか? Douyin Blue V の名前は変更できますか?法人Douyin Blue Vアカウントの名前を変更する手順は何ですか? Mar 22, 2024 pm 12:51 PM

Douyin Blue V 認証は、Douyin プラットフォーム上の企業またはブランドの公式認証であり、ブランド イメージと信頼性の向上に役立ちます。企業の発展戦略の調整やブランドイメージの更新に伴い、企業はDouyin Blue V認証の名称を変更したい場合があります。では、Douyin Blue V は名前を変更できるのでしょうか?答えは「はい」です。この記事では、エンタープライズ Douyin Blue V アカウントの名前を変更する手順を詳しく紹介します。 1.Douyin Blue V の名前は変更できますか? Douyin Blue V アカウントの名前は変更できます。 Douyin の公式規定によると、企業の Blue V 認定アカウントは、一定の条件を満たした後にアカウント名の変更を申請できます。一般的に、企業は社名変更の合法性と必要性​​を証明するために、営業許可証、組織コード証明書などの関連資料を提供する必要があります。 2. 企業のDouyin Blue Vアカウントの名前を変更する手順は何ですか?

Stardew Valleyで広葉樹を素早く集める方法 Stardew Valleyで広葉樹を素早く集める方法 Mar 26, 2024 am 11:21 AM

広葉樹はスターデュー バレーの重要な合成材料です。ゲーム内でさまざまな用途に使用できるため、日常生活で備蓄できます。広葉樹を入手する具体的な方法は何ですか?以下にスターデュー バレーについて説明します。参照できます。必要に応じて、物語で広葉樹を入手する方法に移動します。スターデューバレーで広葉樹を入手する方法 1. 毎日秘密の森に行き、木の切り株を掘って広葉樹をすぐに入手します。 2. 木の切り株を採掘したり、秘密の森でモンスターと戦ったりすることで、マホガニーの種を入手するチャンスがあります。 3. 庭に種を植えるとマホガニーの木が育ちます。 4. 最後に、マホガニーを採掘した後、すぐに大量の広葉樹を入手できます。

Xianyuで公開されている製品のアドレスの場所を変更する方法 Xianyuで公開されている製品のアドレスの場所を変更する方法 Mar 28, 2024 pm 03:36 PM

Xianyuプラットフォームで製品を公開する際、ユーザーは実際の状況に応じて製品の地理的位置情報をカスタマイズできるため、潜在的な購入者は製品の特定の位置をより正確に把握できます。製品が無事に店頭に並べられれば、販売者の所在地が変わっても心配する必要はありません。 Xianyu プラットフォームは、柔軟で便利な変更機能を提供しています。公開された製品のアドレスを変更したい場合、どのように変更すればよいでしょうか? このチュートリアル ガイドでは、詳細なステップバイステップ ガイドが提供されます。助けてください、皆さん! Xianyu でリリース製品アドレスを変更するにはどうすればよいですか? 1. Xianyu を開き、公開したものをクリックして製品を選択し、[編集] をクリックします。 2. 位置決めアイコンをクリックし、設定したいアドレスを選択します。

Python ORM パフォーマンス ベンチマーク: さまざまな ORM フレームワークの比較 Python ORM パフォーマンス ベンチマーク: さまざまな ORM フレームワークの比較 Mar 18, 2024 am 09:10 AM

オブジェクト リレーショナル マッピング (ORM) フレームワークは、Python 開発において重要な役割を果たします。オブジェクト データベースとリレーショナル データベースの間にブリッジを構築することで、データ アクセスと管理を簡素化します。さまざまな ORM フレームワークのパフォーマンスを評価するために、この記事では次の一般的なフレームワークに対してベンチマークを実行します。 sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM テスト方法 ベンチマークでは、100 万レコードを含む SQLite データベースを使用します。テストでは、データベースに対して次の操作を実行しました。 挿入: テーブルに 10,000 件の新しいレコードを挿入します。 読み取り: テーブル内のすべてのレコードを読み取ります。 更新: テーブル内のすべてのレコードの 1 つのフィールドを更新します。 削除: テーブル内のすべてのレコードを削除します。 各操作

Wordでルート番号を入力する方法を一緒に学びましょう Wordでルート番号を入力する方法を一緒に学びましょう Mar 19, 2024 pm 08:52 PM

Word でテキスト コンテンツを編集するときに、数式記号の入力が必要になる場合があります。 Word でルート番号を入力する方法を知らない人もいるので、Xiaomian は私に、Word でルート番号を入力する方法のチュートリアルを友達と共有するように頼みました。それが私の友達に役立つことを願っています。まず、コンピュータで Word ソフトウェアを開き、編集するファイルを開き、ルート記号を挿入する必要がある場所にカーソルを移動します。下の図の例を参照してください。 2. [挿入]を選択し、記号内の[数式]を選択します。下の図の赤丸で示すように: 3. 次に、下の[新しい数式を挿入]を選択します。以下の図の赤丸で示すように: 4. [根号式]を選択し、適切な根号を選択します。下の図の赤丸で示したように、

See all articles