特定の単語の発生回数を計算し、その回数で入力ファイルのフッターを更新します。

特定の単語の発生回数を計算し、その回数で入力ファイルのフッターを更新します。

.txtファイルのトレーラーレコードを、ファイルに見つかった特定のレコード数で更新する必要があります。 "MAM 002"値を含むファイル内のレコードを探しています。レコード数をカウントし、このカウントを使用して次のトレーラーレコードを更新します。

「TLR241」

入力ファイルで「MAM 002」を20回見つけて、次のようにトレーラーレコードを更新したいとしましょう。

「TLR20」

また、トレーラーレコードの特定の長さを維持する必要があります。この場合、トレーラーレコードの長さは4501バイトです。

ベストアンサー1

次のものを使用する必要があります。

awk '/MAM 002/{cnt++} {sub(/TLR[0-9]+/,"TLR"(cnt+0))} 1' file

ただし、テスト可能なサンプル入力/出力を提供していないため、確実にテストされていません(おそらく望みどおりに動作しなくなり、必要に応じて行うより良い方法があるかもしれません)。

おすすめ記事