我有一个包含以下内容的示例输出文件:
ent_status_code,time_stamp) using btree in table ;
user_id,ent_no) using btree in table ;
agent_code,ent_no) using btree in table ;
ent_no,change_ind_code) using btree in table ;
change_ind_code) using btree in table ;
using btree in table ;
using btree in table ;
ent_no) using btree in table ;
ent_status_code,time_stamp) using btree in table ;
user_id,ent_no) using btree in table ;
agent_code,ent_no) using btree in table ;
ent_no,change_ind_code) using btree in table ;
change_ind_code) using btree in table ;
using btree in table ;
using btree in table ;
ent_no) using btree in table ;
using btree in table ;
using btree in table ;
ent_no) using btree in table ;
我的目标是替换倒数第二列,在本例中是table
;但是,该列不是唯一的,因此不必是table
。我想将其替换为datadbs
答案1
特殊NF
变量 inawk
保存当前行中空格分隔字段的数量。因此,$(NF-1)
将是倒数第二个字段,所以你可以这样做:
awk 'NF>1 && $(NF-1) = "datadbs"' file