我有一個包含以下內容的範例輸出檔:
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