問題タブ [gawk]

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 投票する
10 に答える
42139 参照

shell - シバンでawkに複数の引数を使用する方法(つまり#!)?

シバンを使ってgawkスクリプトを実行したいです。--re-intervalの「素朴な」アプローチ

gawk が最初の引数"--re-interval -f"(空白で分割されていない) で呼び出され、これを理解できないため、機能しません。そのための回避策はありますか?

もちろん、直接 gawk を呼び出さずに最初の引数を分割するシェル スクリプトにラップするか、その後に gawk を呼び出すシェル スクリプトを作成し、そのスクリプトを別のファイルに入れることもできますが、何らかの方法があるかどうか疑問に思っていました。これを 1 つのファイルにまとめます。

シバン行の動作はシステムごとに異なります。少なくともCygwinでは、引数を空白で分割しません。そのように動作するシステムでそれを行う方法が気になります。スクリプトは移植性を意図していません。

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

perl - PIX/ASA ログを CSV にフォーマットするスクリプトが必要

サーバー上のさまざまなものをcsvに解析するプロジェクトに取り組んでいます。標準の PIX/ASA ログを CSV に解析できる優れた perl スクリプトまたは gawk ステートメントを持っている人はいますか...

ありがとう。

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

regex - awkを使用して特定の部分文字列を正規表現と一致させる

特定のファイル名を扱っており、それらから情報を抽出する必要があります。

ファイル名の構造は、「20100613_M4_28007834.005_F_RANDOMSTR.raw.gz」のようになります。

RANDOMSTR は最大 22 文字の文字列で、「-W[0-9].[0-9]{2}.[0-9]{3}」という形式の部分文字列を含む (または含まない) 場合があります。この部分文字列には、「-W」で始まる独自の機能もあります。

抽出する必要がある情報は、このオプションの部分文字列を除いた RANDOMSTR の部分文字列です。

これを bash スクリプトに実装したいのですが、これまでのところ、正規表現で gawk を使用するのが最善の方法です。これまでの私の最善の試みは失敗します:

期待される結果は次のとおりです。

どうすれば望ましい効果を得ることができますか。

ありがとう。

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

awk - awk内で処理された各ファイルの後に区切り文字を追加する

2つの区切り文字(STARTとENDを含まない)の間にテキストを抽出している複数のファイルがあります。各ファイルを処理した後、ファイルが処理されたことを示す区切り文字、たとえば文字列「END」を出力したいと思います。処理された各ファイルの後に、文字列「END」を出力に追加するにはどうすればよいですか?例えば、

コンテンツを含むファイルが2つあるとします

file1.txt

file2.txt

私は次のことを実行するかどうかを知っています:

次の出力が得られます。

しかし、私が望む出力は次のとおりです。

各ファイルが処理された後、文字列「END」を出力に追加するにはどうすればよいですか?

0 投票する
2 に答える
528 参照

awk - awkと特定のフィールドを複数回抽出する

次のような変数を含む多くのファイルがあります

awk がそれらを抽出し、次のような結果が得られるように、それらを awk に渡したいと思います。

これは、この awk スクリプトを使用したケーキです。

私はそれを次のように呼んでいます:

複数の変数が同じ行にある場合を除いて、すべて正常に機能します。この場合、次のようになります。

私が欲しいのに対し:

どうすればいいですか?もちろん、別の解決策 (sed などを使用) があれば、それで問題ありません。

どうもありがとう!

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

gawk - gawk の単純なプログラムの違い

次の入力があるとします。

5 つのスペースで始まる行を結合する必要があります。次の単純な gawk コマンドは、最初に白い開始行をフィルター処理し、もう 1 つのコマンドで空白を取り除き、意図したとおりに機能します (これを行うには多くの方法があることはわかっていますが、gawk現在学習中です)。

私の質問は、2 つのコマンドを 1 つに結合すると、何も出力されない理由です。どこかで構文の問題だと確信しています:

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

gawk - gawk スクリプトで再間隔を有効にする

次の #! を使用して、gawk の実行可能スクリプトを作成します。

#!/usr/bin/gawk -f

ただし、間隔の正規表現を有効にしたい場合は、--re-intervalまたは-W re-interval#!を追加できないようです。

#!/usr/bin/gawk --re-interval -f
#Above doesn't work

コマンドライン引数なしでスクリプトにこのオプションを有効にする方法、または引数を入力して機能させるより良い方法はありますか?

それがあなたのソリューションにとって重要な場合、私はcygwinを使用しています

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

awk - 連想配列をAWKでソート

ここに私の配列(gawkスクリプト)があります:

ソート後、次の結果が必要です。

「asort」を使用すると、インデックスが失われます。インデックスを失うことなく配列値でソートする方法は? (値に基づいて順序付けられたインデックスが必要です)

(シェルスクリプトやperlなどではなく、awk/gawkのみでこの結果を取得する必要があります)

私の投稿が十分に明確でない場合は、同じ問題を説明する別の投稿があります: http://www.experts-exchange.com/Programming/Languages/Scripting/Shell/Q_26626841.html )

前もって感謝します

アップデート :

両方に感謝しますが、インデックスではなく値でソートする必要があります(値に従って順序付けされたインデックスが必要です)。

言い換えれば、私はこの結果が必要です:

いいえ :

(同意します、私の例は紛らわしいです、選択された値はかなり悪いです)

Catcall のコードから、動作する簡単な実装を書きましたが、かなり見栄えが悪いです (並べ替えの前にキーと値を連結し、比較中に分割します)。外観は次のとおりです。

もちろん、もっときれいなものがあれば興味があります...

御時間ありがとうございます

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

linux - GAWKスクリプト-BEGINセクションにファイル名を出力

私は始まるgawkスクリプトを書いています

経由でファイルを呼び出しています./script file1.htmlが、スクリプトは何も返しません。何か案は?

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

awk - パターンの一部に応じてパターンを文字列に置き換える方法は?

次の問題があります。入力ファイルを解釈していますが、これに遭遇しました。スペースに変換%%BLANKxする必要があります。x

したがって、入力ファイルのどこにいても、たとえば、スペースやスペースなどに%%BLANK8置き換える必要があります。%%BLANK88%%BLANK1010