問題タブ [awk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
1550 参照

performance - 時間によって条件付けられた重複をすばやく見つける方法

AIX を使用しないマシンでPERLは、同じ ID を持ち、4 時間の間に登録された場合に重複していると見なされるレコードをフィルター処理する必要があります。

私はこのフィルターを使用して実装しAWK、かなりうまく機能しますが、もっと速い解決策が必要です:

0 投票する
17 に答える
75922 参照

unix - タイムスタンプを stdin の先頭に追加する Unix ユーティリティはありますか?

Python でこのための簡単なスクリプトを作成することになりましたが、各行の先頭にテキスト (私の場合はタイムスタンプ) を追加するテキストをフィードできるユーティリティがあるかどうか疑問に思っていました。理想的には、使用は次のようになります。

(あなたがsedに答える前に、私はこれを試しました:

ただし、sed の実行時に date コマンドが 1 回しか評価されないため、同じタイムスタンプが誤って各行の先頭に追加されます。)

0 投票する
1 に答える
8693 参照

arrays - awkでハッシュ/配列をソートする

awkで次のことを行う簡単な方法はありますか?

  • データによる配列/ハッシュのソート
  • 文字列キーによるハッシュのソート
0 投票する
24 に答える
32408 参照

awk - AWKを学ぶ理由はまだありますか?

私は問題に対して適切な解決策を使用するのが好きなので、昔ながらのツールでさえ、常に新しいツールを学んでいます。

それでも、それらのいくつかを学ぶ理由はまだあるのだろうか。awkたとえば、私にとっては興味深いものですが、単純なテキスト処理の場合は、、、などを使用できますが、grep複雑なテキスト処理の場合はPythonを使用します。cutsed

だからといって、それが強力で便利なツールではないという意味ではありません。しかし、新しいツールを学ぶには時間とエネルギーがかかるので、それだけの価値はありますか?

0 投票する
4 に答える
1491 参照

perl - 現在のファイルの内容に基づいて awk から別のファイルを検索/読み取ることは可能ですか?

(GNU)awkで巨大なファイルを処理しています (他の利用可能なツールは、Linux シェル ツール、古い (>5.0) バージョンの Perl ですが、モジュールをインストールできません)。

私の問題: field1、field2、field3 に X、Y、ZI が含まれている場合、field4 と field5 を 1 行に含む別のディレクトリでファイルを検索し、見つかったファイルのデータを現在の出力に挿入する必要があります。

例えば:

実際のファイル行:

ここで、たとえば別のファイルを (別のディレクトリで) 検索する必要があります。

元のファイルから STDOUT に書き込み、見​​つかったファイルから$0、元のファイルの次の行を処理します。f2f3

でそれを行うことは可能awkですか?

0 投票する
4 に答える
437 参照

scripting - Awk スクリプトのヘルプ - ロジックの問題

私は現在、" o' " に一致する文字列の Exim ログ ファイルを解析するための単純な .sh スクリプトを作成しています。現在、output.txt を表示すると、すべての行 (606 行) に 0 が出力されます。awk はエラーをスローしないため、私のロジックが間違っていると思います。

これが私のコードです(連結とカウンターの問題のために更新されました)。編集: dmckee の回答からいくつかの新しいコードを採用しました。これは、単純さを優先して古いコードよりも現在作業しています。

何か案は?

編集: わかりやすくするために、メール アドレスの「o」を検索しています。これは、「」はメール アドレスでは無効な文字であるためです (データベースでは、o' がプレフィックスされた名前でのみ表示されます)。

編集 2: コメントの要求に従って、ここにいくつかの望ましい出力のサニタイズされたサンプルがあります:

ループで 20 から開始する理由は、20 番目のフィールドより前のすべてが標準のログ情報であり、ここでの目的には必要ないためです。このソリューションに必要なのは、IP とそれ以降のすべてです (各 550 エラーのメッセージは、使用されているメール サーバーごとに異なります。一般的なもののリストを編集しています)。

0 投票する
5 に答える
29366 参照

bash - パイプ区切りファイルからフィールドを出力するにはどうすればよいですか?

パイプ文字で区切られたフィールドを持つファイルがあり、2 番目のフィールドのみを印刷したいと考えています。この試みは失敗します:

これを行う方法はありますか?

0 投票する
6 に答える
3330 参照

error-handling - awk は存在しないファイルをレースなしでスキップできますか?

awk (gawk) に見つからないファイルを無視またはスキップさせる方法はありますか? つまり、ファイル システムに存在しなくなった、コマンド ラインで渡されたファイルです (たとえば、/proc/[1-9]* の下で急速に出現/消失するファイル)。

デフォルトでは、見つからないファイルは致命的なエラーです:-(

次のようなことと同等のことができるようにしたいと思います。

ラッパー スクリプトは、awk が実行される前にファイルが存在することを確認できません。これは、ファイルがチェックされてから awk がファイルを開こうとするまでの間にファイルが消える可能性があるためです。つまり、競合状態です。(タイミングはタイトですが、awk内でチェックしてから開くことも競合状態です)

0 投票する
3 に答える
1434 参照

windows - awkおよびWinGrepの正規表現

だから私はこのようなパターンを探しています:

size = '0x0'

ログファイルにありますが、私は大きなサイズ(4桁以上)にしか興味がありません。次の正規表現は、EditPadPro(優れたツールBTW)でうまく機能します

しかし、同じ正規表現はawkでは機能しません-繰り返し{4,}がそれを台無しにしているようです。WinGrepと同じ-正規表現の達人からのアイデアはありますか?ありがとう!

0 投票する
12 に答える
9723 参照

awk - 最高のAwkコマンド

AWKは本当に便利だと思います。これが私がデータを操作するためにまとめたワンライナーです。

このAWKを使用して、一部のファイルの名前を変更し、選択した列のみを出力するスクリプトファイルを作成しました。誰かがこれを行うためのより良い方法を知っていますか?あなたは最高のAWKワンライナーまたは巧妙な操作は何ですか?