問題タブ [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 投票する
1 に答える
65 参照

gawk - 特殊文字を使用した GAWK スクリプト

特殊文字の使用に問題があります。タブで区切られたテキスト ファイルを解析しています。特定のパラメーターが true の場合、プログラムで行の最初の単語に「*」を追加したいと考えています。

これを実行するたびに、行末ではないというエラーが表示されます。

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

awk - AWK ユーザー定義関数 - 新しい構文?

テキスト文字列を正しくトリミングする簡単な方法を探しているときに、次の wiki ページを見つけました。

Wikiトリミングページ

AWK に関する章では、2 セットの例を示します。

また

下の例はおなじみで問題なく動作しますが、最初の例は 20 年間の AWK プログラミングで見たものとは異なって見えます。関数を 1 行で定義して使用するための非常に便利な簡単な方法のように見えます。この構文を GNU Awk 3.1.5 で動作させることができません。これは、より最近のバージョンで導入されたものですか?

誰かがこの構文に精通している場合、実際に機能する例に感謝します。

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

linux - Gawkは各列から最大値を出力します

テキストファイルの入力のいくつかの列を取り、各列の最大値を出力するawkスクリプトを書いています

入力:

出力:

脚本:

現在の出力:

私は最初のawkスクリプトを間違って何をしていますか

=======ソリューション======

助けてくれてありがとう

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

awk - awk 出力にヘッダーがありません

入力:

これにより、ヘッダーが表示されます。

しかし、これはしません:

どうして?

0 投票する
7 に答える
15855 参照

printing - awkで長い整数を出力する

複数のフィールドを持つパイプ区切りのフィード ファイルがあります。少数しか必要ないのでawk、テスト目的でそれらをキャプチャするために使用することを考えました. printfしかし、を使用すると値が変わることに気付きました"%d"。を使えばうまくいきます"%s"

フィード ファイルのサンプル:

[jaypal:~/Temp] cat temp

302610004125074|19769904399993903|30|15|2012-01-13 17:20:02.346000|2012-01-13 17:20:03.307000|E072AE4B|587244|316|13|GSM|1|SUCC|0|1|255|2|2|0|213|2|0|6|0|0|0|0|0|10|16473840051|30|302610|235|250|0|7|0|0|0|0|0|10|54320058002|906|722310|2|0||0|BELL MOBILITY CELLULAR, INC|BELL MOBILITY CELLULAR, INC|Bell Mobility|AMX ARGENTINA SA.|Claro aka CTI Movil|CAN|ARG|

をキャプチャすることに興味がsecond columnあり19769904399993903ます。

ここに私のテストがあります:

ただし、次の 2 つのテストは問題なく動作します -

これは、"%d"長い整数を処理できないという制限です。その場合、番号を切り捨てるのではなく、番号に 1 を追加するのはなぜですか?

BSDGNUのバージョンでこれを試しましたawk

バージョン情報:

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

regex - awk、フィールドが一致しませんが、一致するはずです

フィールドセパレータが\tであるレコードリストとして構造化されたファイルがあります。2 番目のフィールドが 1 から 9 までの数字であるレコードのみを抽出したいのですが、awk スクリプトが機能しません。awkスクリプトは

またはこれ

これらのスクリプトが機能しないのはなぜですか? 正規表現は良い正規表現ではありませんか?

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

parsing - Windows cmd - findstr と gawk、または以下のデータをどのように引き出すか

findstr や gawk を使用して、必要な方法で Windows コマンドの出力を正確に返すことができるかどうか疑問に思っていました。現在、出力を生で返し、空白行を取り除き、必要なものを解析しています。学習の一環として、これをより良く行う方法を知りたいと思っていました。

生の出力:

私はその出力を取得し、php でこれに解析します。

自分で少し簡単にするために、出力から空白行を削除します。空白行を findstr にパイプし、/V "^$" を使用します。だからそれは | findstr /V "^$".

コマンドラインから直接phpで解析した出力を取得するにはどうすればよいですか?

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

linux - gawk で引用符をエスケープできないのはなぜですか?

私は次のことをしようとしていますが、疲れすぎて考えられないか、エスケープで何か奇妙なことが起こっています:

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

linux - 列の最小、平均、最大

次の質問があります。2つの最小値、最大値、およびこの入力の平均が必要です。

私はこれらのコマンドを使用しています:

出力は次のとおりです。

ただし、2つの最小値が必要です。1つは上に示されていますが、もう1つは0.800より大きい任意の数値である必要があります。私はこれを試しました:

しかし、それは私に何も示していません。これをスクリプトに入れるためにあなたの助けが必要です。

よろしくお願いします

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

file - AWK : ファイル内のテキストを条件付きで取得する

ID(valueID1など)を持ち、特定の値より小さい値をファイルで見つける必要があります。そこから、valueID1 に関連付けられているが、異なる値 ID を持ち、別の行にある最初の値を見つける必要があります (たとえば、valueID2)。

たとえば、「birthday」というファイルで、誕生日 = xx/xx/xxxx などの ID を見つけたいとします。特定の日付より下の最初の誕生日を見つけたいとします (実際の数値を取得するには、$3 を使用する必要があります)。 value) 次に、最初の ID に近い 2 番目の ID の値を取得したいので、「名前」は「name = Greg」のようになります。そこに「Greg」を出力したいと思います。すべての結果が最初に指定された値よりも小さいわけではなく、最初の結果のみが必要です。

これを行う方法について何か考えはありますか?これが私ができるすべてであり、まったく機能しません。