gawk

awkを使用した複数フィールドの接続
gawk

awkを使用した複数フィールドの接続

次のようにfile1があります。 2010,92614,0,1 2010,92614,4,1 file2 は次のようになります。 2010,0,907894 2010,1,17788 2010,2,2827 2010,3,1212 2010,4,669914 file1のフィールド1と3、file2のフィールド1と2で2つのファイルを結合したいと思います(たとえば、2つのファイルの最初のレコードは2010と0です)。出力は次のようになります。 2010,92614,0,1,907894 2010,92614,4,1,669914 つまり、行と一致するよ...

Admin

空の列がある場合、列を複数の列に分割する
gawk

空の列がある場合、列を複数の列に分割する

次の点に関して助けが必要です。 A B C 1 2 Q W A 空の列が見つかるたびに、その列を新しい列に分割します。 出力: A,1,Q B,2,W C,,A Sedを使用しましたが、分割するキーワードが見つかりませんでした。データが多すぎて効率的に処理する方法はありませんか? ありがとう ...

Admin

awk は最後のレコードと一致して印刷します。
gawk

awk は最後のレコードと一致して印刷します。

私が得た記録は次のとおりですfileinp。 1 ABCDEFGHILM 12345678901234567 ABCD X 1 CDEFGHILMNO 34567890123456789 BCDE Y 1 EFGHILMNOPQ 56789012345678901 CDEF Z 1 GHILMNOPQRS 78901234567890123 DEFG W 最後の文字がYまたはZの場合は、文字14から文字47...

Admin

検索パターンファイルを使用してCSVの最後の列で正しい単語を検索するにはどうすればよいですか?
gawk

検索パターンファイルを使用してCSVの最後の列で正しい単語を検索するにはどうすればよいですか?

この問題は別のトピックで議論されていますが、すべての内容を1つにまとめることはできません。 TSVファイルがあります。以下はサンプルラインです:(file1) NODE_1_length_45927_cov_22.029055_g0_i0 WP_055195622.1 93.1 729 50 0 291 2477 1 729 0.0e+00 1275.4 166486;1897048 最後のフィールドには、で区切られた数字のリストが含まれています;。 検索パターンのリストを含むファイ...

Admin

gawkを使用してCSVファイルに条件付きで新しいヘッダーを導入する方法
gawk

gawkを使用してCSVファイルに条件付きで新しいヘッダーを導入する方法

csvファイルがありますが、列番号だけを抽出したいと思います。7そして11。列7(その列に値がある)の値に応じて、OKまたはその横に列(マップ位置KOと呼ばれる)を挿入したいと思います。value OK -> 0 KO -> 1 また、最初に単純な文字列列を追加しました。 私の.awkファイルは次のとおりです。 BEGIN {FS=";";OFS=","} { value=0 if($7=="KO") { value=1 } print "Measure_QS",$7,value,$11 } ...

Admin

awkを使用して2つのファイルをマージし、1つのファイルの最後の行をスキップします。
gawk

awkを使用して2つのファイルをマージし、1つのファイルの最後の行をスキップします。

両方のファイルをリンクし、重複したヘッダー行を削除し、最後の行のみをインポートしようとしています。 たとえば、 ファイル1.txt head1 data1 data2 tail8 ファイル2.txt head1 data3 data4 tail9 file3.txtで望む結果: head1 data1 data2 data3 data4 tail8 or rail9 doesn't matter まず、重複ヘッダーを削除してみました。 awk '!seen[$0]++' file1.txt file2.txt > file3.txt 2番目のコマ...

Admin

awk:envファイルのキー値を印刷するには?
gawk

awk:envファイルのキー値を印刷するには?

私が試したことは次のとおりです(いくつかの他の繰り返しで)。ファイルの断片 APOLLO_KEY=service:abcd cat packages/graph/.env | gawk '{ if ($0 = "APOLLO_KEY" ) { RS = "=" } ; { print $1 } }' APOLLO_KEY代わりにファイルの各行の値を返します。私が期待して得たい価値は service:abcd このようにファイルを解析する際にかなりの問題があることを知っています。私はただ1回限りのコマンドのためにこれをやっていますが、この時点で私は間違っ...

Admin

Unixコマンドを使用したソートURL正規表現の実装
gawk

Unixコマンドを使用したソートURL正規表現の実装

私はsed、awk、sort、grep、および他のUnixバイナリに実装された正規表現を初めて使用します。 テキストエディタ(BBEdit)でURLリストを並べ替えるために、次の正規表現を使用すると、次のことがわかります。 (https?)://([a-z0-9]+[.])*(.+?)[.](.+?)/(.*)$ \3\t\4\t\2\t\5\t\1 私が望む最終結果が出ました。 BBEditのGUIでソートを実行せずに自動的に実行できるように、Unixコマンドラインでこのソートを実行したいと思います。しかし、私はそれを正しく翻訳するにはsed、awk、s...

Admin

特定のキーワードが一致した場合のテーブルの複数の列値の変更
gawk

特定のキーワードが一致した場合のテーブルの複数の列値の変更

次の形式のデータがあります。 38%,1,0,0 32%,400,376.61,94.1525 54%,400,197,49.25 22%,1,1,100 2番目の列が1の場合、2番目、3番目、4番目の列をNAに変更します。 38%,NA,NA,NA 32%,400,376.61,94.1525 54%,400,197,49.25 22%,NA,NA,NA まず、1つの列を交換しようとしましたが、機能しません。 awk -F, '$2==1 {$2="NA"}1' OFS=, ...

Admin

正規表現が現れるたびにファイルを分割する方法は?
gawk

正規表現が現れるたびにファイルを分割する方法は?

段落に「7-04/PNLP-000001」形式のコードが含まれるたびに、テキストファイルを別のファイルに分割するようにgawkを試しています。たとえば、元のテキストファイルに次の内容が含まれているとします。 Seville-Córdoba-Madrid Avenueに関連するProposición no de Ley 7-04/PNLP-000009。アンダルシア農村地域中年労働者のリハビリテーションと社会の発展に関するLey 大統領夫人の提案7-04 / PNLP-000001。大統領の妻 以下を含むファイルを取得したいと思います。 Seville-...

Admin

gawkを使用してCSV列データに基づいてファイル名を作成する
gawk

gawkを使用してCSV列データに基づいてファイル名を作成する

次のヘッダーを含む非常に汚れたCSVファイルがあります。 maindata.csv time;area;measurement1;measurement2;measurement3;.....measurement12 gawk各個々のファイルを次のCSV形式に維持するために、次のコマンド形式を使用して、測定名に基づいて1つの大容量ファイルを個別に分割できました。 measurement1.csv -> has csv header [time,area,measurement1] measurement2.csv -> has csv hea...

Admin

awkを使用して為替レート/「デリバティブ」を計算する
gawk

awkを使用して為替レート/「デリバティブ」を計算する

awkここで初心者です。 2つのデータ列があり、delta(y)/ delta(x)として提供される成長率を計算するとします。awkスクリプトでこれをどのように実行しますか?これまでに学んだことは、1行ずつ作業するだけで、複数行を処理する方法がわかりません。 注:N個のデータポイントがあると仮定すると、N-1個の勾配/速度値が得られます。 例: 入力する x y 2 4 3 5 4 7 出力 Slope - 1 2 これがawk最善の選択ですか?それとも他のツールが良いですか? ...

Admin

GNU awkの実装制限が実際には機能しないように見えるのはなぜですか?
gawk

GNU awkの実装制限が実際には機能しないように見えるのはなぜですか?

このページGNU awk実装の制限については、フィールドサイズとリテラル文字列サイズの制限が挙げられますMAX_INT。 ただし、長い文字列リテラルを変数として宣言し、関数を使用して長さを見つけようとすると、length文字列の長さが308文字を超えると関数が中断されるようです。以下の例: BEGIN { avar=1234... #309 characters print length(avar) #prints 3 but prints right length when length < 309 } ただし、次のコマンドラインは...

Admin

エスケープ文字とgsubを使用せずにテキストの前に引用符をインポートする必要があります。
gawk

エスケープ文字とgsubを使用せずにテキストの前に引用符をインポートする必要があります。

tst.csv次の内容で名前が付けられたファイルがあります "FORESS INTL PTN "A" (208)" 次の出力を取得するには、エスケープ文字()\を使用しないでください。次の期待される出力を達成するためにのみ必要です。使用中の外部プログラムはバックスラッシュ文字をデコードしないためです。gsubsub 期待される出力 "FORESS INTL PTN ""A"" (208)" 次のコマンドを試しました awk '{gsub(/"/,"&&");gsub(/^""|""$/,"")}1' tst.csv 私は次...

Admin