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

bash - bashの逆検索履歴のスタイルでファイルを検索します

逆検索履歴が機能するのと同じ方法でファイルを検索する関数を作成しようとしています。つまり、ユーザーが入力を開始し、プロンプトが最初の一致で更新され、特別なキーを押すと他の一致が順番に回転し、別の特別なキーを押すと現在の一致が選択されます。

これにbashスクリプトを書きましたが、非常に遅いです。これを高速化するために他のUNIX/bash機能を利用できるかどうか疑問に思っていました。多分awkを使用していますか?

任意のアイデアをいただければ幸いです。

このスクリプトでは、TABが一致をローテーションし、ENTERが現在の一致を選択し、ESCが終了し、BACKSPACEが現在の検索の最後の文字を削除します。(私の危険なbashスクリプトを許してください、bash / unixは比較的新しいです)

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

awk - awkを使用して2つの文字列を置き換える

ファイル内の改行に置き換え@@たい。これを行うために、私は以下のコードを書きましたが、gawkを2回呼び出すよりも洗練された解決策があるように感じます。誰か教えてもらえますか?^¤¤

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

regex - Awk match() - 1行に複数

HTML ファイルからリンクを取得するために gawk の match() 関数を使用しています。正規表現は次のようになります。

最後に「/g」オプションを使用して、行ごとに複数の一致を取得できないようですが?

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

bash - シェルスクリプトと gawk の使用と算術演算

タブ区切りファイルがあり、ファイルに存在する列に対していくつかの数学的計算を実行したいと考えています。

ファイル名sndf$tagいくつかの整数値にすると、最初に列 3 と 2 の値の差を見つけてから、列 4 の値をその値で$tag割り、再び結果を列 3 と 2 の値の差で割り、最後にします結果は 100 倍されます。

コマンドは、出力ファイルに1回ではなく4回回答を書き込んでいます.....改善を提案できますか? ありがとうございました

解決策: 親愛なる皆さん、私は問題を解決しました。問題を読んで時間を割いてくれてありがとう。

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

sed - gawk/sed のネストされた区切り文字の問題

分割する必要があるこのテキストがあります。

これらのバリエーションを試してみましたが、分割したくない「内部」区切り文字に引っ掛かり続けます!!:

gawk -F "[" -v RS="," "NF{print $0}" text.txt

それらを分割するにはどうすればよいですか (1) 最初にメインの "{" で、内側の "{" を無視します (2) 次にコンマで、中括弧の間のコンマを無視します。次に、次のように 1 つまたは 2 つのフィールドのみを出力します。

suspend_at: '2011-05-12 15:14:02'、ev_id: 2666872、ev_type_id: 10744、type_name: '|UK 100|'

前もって感謝します。

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

regex - gawkでの正規表現の疑い

私のcsvデータファイルはこのようなものです

ご覧のとおり、2行目と3行目のようなすべてのデータを避けたいです(つまり、空白やデータ長> = 3はありません)

そしてそれをrejected_list.csvというファイルに置き、残りはすべてclean_list.csvというファイルに入れます

したがって、ここに私のgawkスクリプトがあります

私の問題は、このスクリプトが「\ S」文字セット(スペースを除くすべてのアルファベット)を認識していないことです.. Sで始まるすべての単語を選択するか、Sを含むすべての単語を選択し、残りを拒否しています

/s の代わりに /([AZ])/ のような単純な正規表現は完全に機能しますが、{3,} の制限を設定すると、スクリプトは失敗します..

「*」、「+」などの正規表現のあらゆる種類の組み合わせを試しましたが、欲しいものが得られません...

誰が私に何が問題なのか教えてもらえますか?

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

unix - AWK スクリプト - このスクリプトは何をしますか?

このAWK スクリプトの処理を複製する必要がありますが、何をしているのかわかりません。このスクリプト の基本的な機能を教えてください。

入力ファイルを受け取り、出力ファイルを作成しますが、どちらのファイルにもアクセスして、それが何をしているかを確認することはできません。入力ファイルの列を区切るパイプ区切り文字と関係があります。

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

linux - フィールド「N」を行末まで印刷します

私はawkで抱えている問題について助けや指示を求めています。

5つ以上のフィールドを持つタブ区切りファイルがあります。最初の5フィールド以外のフィールドを出力したい。

このタスクを実行するためのawkスクリプトの記述方法を教えてください。

最高、jianfeng.mao

次の親切なコメントに注意してください:

私のファイルには多くのフィールドがあります。行が異なれば、フィールドの数も異なります。1行あたりのフィールド数は標準ではありません。

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

awk - 式の無効な文字'''

こんにちは私は次のawkプログラムを持っています

問題は、 awk -f make.awk info.txt を実行すると、3行目の「awk'invalidchar ''」の式に文句を言う理由がわからないことです。

この地域で私より明るい人はいますか?=)

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

awk - この awk スクリプトが期待どおりに動作しないのはなぜですか?

次のテストスクリプトがあります

そして、このテキストファイルから読んでいます

しかし、それは私が望むものを印刷しません、私はそれを印刷したいです

実際に印刷するだけの場合

では、なぜ "DATEd[$3] = $1" は空なのでしょうか?

また、配列の長さを確認するにはどうすればよいですか? この場合、DATEd.length は機能しません。

ありがとう

編集_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

@Fredrikと@geekosaurの助けを借りて、私はこれでどこかに行きました。今、いくつかの最後の質問に行きます

1) スクリプトは次のようになります

そして、次の出力が得られます

でもこんな感じにしたい

IE はソートされ、最後の終了文字「]」の前の最後の「,」文字が削除されます。これは簡単に達成できますか?=)

ありがとう =)

編集3最終結果_ _ _ _ _ _ _ _ _ _ __ _ _ __ _ _ _ _ __ _ ____

@geekosaur と @Fredrik の貢献の組み合わせを使用 =)