問題タブ [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.
shell - シバンでawkに複数の引数を使用する方法(つまり#!)?
シバンを使ってgawkスクリプトを実行したいです。--re-interval
の「素朴な」アプローチ
gawk が最初の引数"--re-interval -f"
(空白で分割されていない) で呼び出され、これを理解できないため、機能しません。そのための回避策はありますか?
もちろん、直接 gawk を呼び出さずに最初の引数を分割するシェル スクリプトにラップするか、その後に gawk を呼び出すシェル スクリプトを作成し、そのスクリプトを別のファイルに入れることもできますが、何らかの方法があるかどうか疑問に思っていました。これを 1 つのファイルにまとめます。
シバン行の動作はシステムごとに異なります。少なくともCygwinでは、引数を空白で分割しません。そのように動作するシステムでそれを行う方法が気になります。スクリプトは移植性を意図していません。
perl - PIX/ASA ログを CSV にフォーマットするスクリプトが必要
サーバー上のさまざまなものをcsvに解析するプロジェクトに取り組んでいます。標準の PIX/ASA ログを CSV に解析できる優れた perl スクリプトまたは gawk ステートメントを持っている人はいますか...
ありがとう。
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 を使用するのが最善の方法です。これまでの私の最善の試みは失敗します:
期待される結果は次のとおりです。
どうすれば望ましい効果を得ることができますか。
ありがとう。
awk - awk内で処理された各ファイルの後に区切り文字を追加する
2つの区切り文字(STARTとENDを含まない)の間にテキストを抽出している複数のファイルがあります。各ファイルを処理した後、ファイルが処理されたことを示す区切り文字、たとえば文字列「END」を出力したいと思います。処理された各ファイルの後に、文字列「END」を出力に追加するにはどうすればよいですか?例えば、
コンテンツを含むファイルが2つあるとします
file1.txt
と
file2.txt
私は次のことを実行するかどうかを知っています:
次の出力が得られます。
しかし、私が望む出力は次のとおりです。
各ファイルが処理された後、文字列「END」を出力に追加するにはどうすればよいですか?
awk - awkと特定のフィールドを複数回抽出する
次のような変数を含む多くのファイルがあります
awk がそれらを抽出し、次のような結果が得られるように、それらを awk に渡したいと思います。
これは、この awk スクリプトを使用したケーキです。
私はそれを次のように呼んでいます:
複数の変数が同じ行にある場合を除いて、すべて正常に機能します。この場合、次のようになります。
私が欲しいのに対し:
どうすればいいですか?もちろん、別の解決策 (sed などを使用) があれば、それで問題ありません。
どうもありがとう!
gawk - gawk の単純なプログラムの違い
次の入力があるとします。
5 つのスペースで始まる行を結合する必要があります。次の単純な gawk コマンドは、最初に白い開始行をフィルター処理し、もう 1 つのコマンドで空白を取り除き、意図したとおりに機能します (これを行うには多くの方法があることはわかっていますが、gawk
現在学習中です)。
私の質問は、2 つのコマンドを 1 つに結合すると、何も出力されない理由です。どこかで構文の問題だと確信しています:
gawk - gawk スクリプトで再間隔を有効にする
次の #! を使用して、gawk の実行可能スクリプトを作成します。
#!/usr/bin/gawk -f
ただし、間隔の正規表現を有効にしたい場合は、--re-interval
または-W re-interval
#!を追加できないようです。
#!/usr/bin/gawk --re-interval -f
#Above doesn't work
コマンドライン引数なしでスクリプトにこのオプションを有効にする方法、または引数を入力して機能させるより良い方法はありますか?
それがあなたのソリューションにとって重要な場合、私はcygwinを使用しています
awk - 連想配列をAWKでソート
ここに私の配列(gawkスクリプト)があります:
ソート後、次の結果が必要です。
「asort」を使用すると、インデックスが失われます。インデックスを失うことなく配列値でソートする方法は? (値に基づいて順序付けられたインデックスが必要です)
(シェルスクリプトやperlなどではなく、awk/gawkのみでこの結果を取得する必要があります)
私の投稿が十分に明確でない場合は、同じ問題を説明する別の投稿があります: http://www.experts-exchange.com/Programming/Languages/Scripting/Shell/Q_26626841.html )
前もって感謝します
アップデート :
両方に感謝しますが、インデックスではなく値でソートする必要があります(値に従って順序付けされたインデックスが必要です)。
言い換えれば、私はこの結果が必要です:
いいえ :
(同意します、私の例は紛らわしいです、選択された値はかなり悪いです)
Catcall のコードから、動作する簡単な実装を書きましたが、かなり見栄えが悪いです (並べ替えの前にキーと値を連結し、比較中に分割します)。外観は次のとおりです。
もちろん、もっときれいなものがあれば興味があります...
御時間ありがとうございます
linux - GAWKスクリプト-BEGINセクションにファイル名を出力
私は始まるgawkスクリプトを書いています
経由でファイルを呼び出しています./script file1.html
が、スクリプトは何も返しません。何か案は?
awk - パターンの一部に応じてパターンを文字列に置き換える方法は?
次の問題があります。入力ファイルを解釈していますが、これに遭遇しました。スペースに変換%%BLANKx
する必要があります。x
したがって、入力ファイルのどこにいても、たとえば、スペースやスペースなどに%%BLANK8
置き換える必要があります。%%BLANK8
8
%%BLANK10
10