タイトルごとに列を持つフラット ファイルを解析しようとしています
NAME COMPANY DETAILS STATUS etc
(データが類似していない場合)。
そのファイルを入力としてスクリプトを実行するときに列を更新する必要がありSTATUS
、他の列の詳細に応じて STATUS が更新されます。
当然のことながら、sed & vi は使用できません。助けてください。
解析しようとしているファイルの抜粋は次のとおりです。解析しようとしているファイルからの抜粋で、質問の対象は次のとおりです。
34 /* 1 2 3 4 5 6
35 /*3456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
36 YYNNN LOCAL1 TRANSFER-CDM(only) =>local.transfer LOCAL
37 YYNNN LOCAL2 EXCHANGE-CATIA =>IGES/DXF/STEP LOCAL
38 YYNNN ACIS1 C AutoWeb Media Services CCX
39 YYNNN ACNC1 C Auto/Con Corporation CCX
40 YYNNN ACST1 C Accurcast Inc CCX
41 YYNNN AAGD1 C Algonquin Automotive CCX
次に、このフラット ファイルを解析する必要があります。6 番目の列が STATUS として追加されます。
私が試してみました:
awk '/23861/ { $0=$0 "|処理済み" } {print}' 入力
ここで - 1.awk コマンド wil srch 4 パターン
2.中括弧内の thng は最後の列で更新されます
しかし、これもエラーになります。行の文字列と一致する場合、列の最後に「|Processed」文字列が追加されます。
そのコマンドをもう一度実行すると、最後にその文字列が再び追加されます。
その行はJAN FEB MAR |Processed |Processed
のように見えます
今、私が望むのは、以前の「| Processed」値を(条件に従って)新しい値に置き換え、それに応じてその値を更新することです