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

unix - トークンに基づいてファイルベースをどのように分割しますか?

$ で区切られたテキスト (1 から N まで) を含むファイルを取得したとします。最終結果が N 個のファイルになるように、ファイルを分割するにはどうすればよいでしょうか?

改行付きの text1 $
text2 $etc... $
textN

私は awk や sed で何かを考えていますが、そのようなタスクを既に実行している利用可能な UNIX アプリはありますか?

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

regex - ファイルからテキスト行を抽出するにはどうすればよいですか?

ファイルでいっぱいのディレクトリがあり、ヘッダーとフッターを削除する必要があります。それらはすべて可変長であるため、head または tail を使用しても機能しません。各ファイルには検索できる行がありますが、その行を結果に含めたくありません。

それは通常です

そして、で終わります

ファイル名を同じままにしたいので、オリジナルを上書きするか、別のディレクトリに書き込み、自分で上書きする必要があります。

もちろんLinuxサーバー上にあるので、Perl、sed、awk、grepなどがあります.

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

email - 多くの電子メール ファイルを unix utils で連結する

複数のメール (約 200 件) を印刷して、ページごとに 1 つずつ印刷するのではなく、継続して印刷する簡単な方法があるかどうかを知りたいです。私はサンダーバードとエボリューションを試しましたが、これは不可能のようです。個々のメール ファイルを連結することはできますか、それともこれを行うことができる他の UNIX ユーティリティはありますか? これにはsedまたはawkが適していますか?

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

bash - AWK: スクリプト出力をスクリプトから動的な名前の別のファイルにリダイレクトする

次のように、スクリプト内から awk の印刷出力を別のファイルにリダイレクトできることはわかっています。

(ダミーの例であることはわかっていますが、単なる例です...)

しかし、必要なのは、このような動的な名前を持つ別のファイルに出力をリダイレクトすることです

出力は にリダイレクトされsomedinamicdata-SomeStaticTextます。

私は次の方法でそれを行うことができることを知っています:

しかし、問題は、それがより大きなawkスクリプトであり、特定の条件に応じていくつかのファイルに出力する必要があることです(このawkスクリプトは別のbashから呼び出され、-vスイッチを介して動的変数を渡します...そして息子の上。

とにかくそれは可能ですか?

前もって感謝します。

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

perl - そのファイルの各行の末尾にファイルの名前を追加するにはどうすればよいですか?

何百ものファイルに対して次のことを行う必要があります: ファイルの各行の末尾にファイルの名前 (スペースが含まれる場合があります) を追加します。

これを行うにはいくつかの方法があるはずです:

ここFILENAMEで、現在のファイルの名前を表します。現在のファイル名を表す sed 変数はありますか? または、bash、awkなどを使用して別のソリューションを持っている人はいますか?

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

linux - sed または awk で、複数の行にまたがる可能性があるレコード セパレータをどのように処理すればよいですか?

私のログファイルは次のとおりです。

cat が最初の行にある完全な複数行エントリを解析したいと思います。sedand/orでこれを行う最善の方法は何awkですか?

つまり、解析で次のように生成する必要があります。

0 投票する
9 に答える
17727 参照

bash - gawk を使用した CSV ファイルの解析

gawk を使用して CSV ファイルを解析するにはどうすればよいですか? FS=","カンマを含む引用符で囲まれたフィールドは複数のフィールドとして扱われるため、単純に設定するだけでは不十分です。

FS=","動作しない使用例:

ファイルの内容:

gawk スクリプト:

悪い出力:

望ましい出力:

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

unix - argvを使用してAWKでテキストファイルのN番目の列を印刷する方法

空白で列に区切られたデータを含むテキスト ファイルがあるとします。ファイル名と数値 N を入力として取り、その列のみを出力するシェルスクリプトを書きたいと思います。awk を使用すると、次のことができます。

このコードは、2 番目の列を出力します。

しかし、任意の列をargvで渡すことができるように、シェルスクリプトでそれをラップするにはどうすればよいでしょうか?

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

awk - 正規表現を使用したレコード全体の awk マッチング

Awk を使用して、正規表現を使用してレコード全体を照合したいと考えています。デフォルトでは、正規表現マッチングはレコードの一部に対して行われます。

理想的なソリューションは次のとおりです。

  • 使用するフィールド セパレータに関係なく、すべてのフィールドに対して一般的であること。
  • 入力全体を 1 つのフィールドとして扱わず、文字列関数を使用して手動で解析します。
  • 一般的な方法で作業し、たとえば gawk に固有のものではありません。

ただし、外部プログラムを呼び出さずに Awkを使用する限り、すべてのソリューションに関心があります。

例、私は持っています:

私は得る:

これは私が求めている結果です:

0 投票する
9 に答える
8079 参照

shell - ファイル内の行に番号を付けるシェル スクリプト

awk や sed などのツールを使用して、特定の方法でファイル内の行に番号を付けるためのより高速な方法を見つける必要があります。各行の最初の文字に、1、2、3、1、2、3、1、2、3 などのように番号を付ける必要があります。

たとえば、入力が次の場合:

出力は次のようになります。

これが私が持っているものの一部です。$lines は、データ ファイルの行数を 3 で割った値です。したがって、21000 行のファイルの場合、このループを 7000 回処理します。

基本的に、これは一度に 3 行を取得し、それらに番号を付けて、出力ファイルに追加します。それは遅いです...そして、いくつか!これを行うための別のより高速な方法を知りません...何か考えはありますか?