Ich habe eine Beispielausgabedatei mit folgendem Inhalt:
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 ;
Mein Ziel ist es, die vorletzte Spalte zu ersetzen, die in diesem Falltable
; diese Spalte ist jedoch nicht eindeutig und muss daher nichttable
. Ich möchte dies ersetzen durchdatadbs
Antwort1
Die spezielle NF
Variable in awk
enthält die Anzahl der durch Leerzeichen getrennten Felder in der aktuellen Zeile. Daher $(NF-1)
wird dies das vorletzte Feld sein, sodass Sie einfach Folgendes tun können:
awk 'NF>1 && $(NF-1) = "datadbs"' file