次の内容の出力ファイルの例があります。
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