我正在尝试解析一个包含标题列的平面文件
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 "|Processed" } {print}' 输入
其中 - 1.awk 命令将 srch 4 模式
2. 大括号中的 thng 将在最后一列更新
但这也给了我错误:如果它与行中的字符串匹配,它将在末尾添加带有“|已处理”字符串的列。
如果我再次运行该命令,它会在末尾再次添加该字符串。
该行看起来像
JAN FEB MAR |已处理 |已处理
现在,我想要的是用新的(根据条件)替换以前的“|已处理”值并相应地更新该值