次の内容を含むサンプル出力ファイルがあります。
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 ;
私の目標は、最後の列から2番目の列を変更することです。この場合、table
;しかし、その列は一意ではないので、必ずしもそうする必要はありません。table
。入れ替えたいです。datadbs
答え1
NF
の特殊変数には、awk
現在行のスペースで区切られたフィールドの数があります。したがって、$(NF-1)
最後から2番目のフィールドになるので、次のことができます。
awk 'NF>1 && $(NF-1) = "datadbs"' file