I would like to remove comma ,
at the end of each line in my file. How can I do it other than using substring function in awk
?
Sample Input:
SUPPLIER_PROC_ID BIGINT NOT NULL, BTCH_NBR INTEGER NOT NULL, RX_BTCH_SUPPLIER_SEQ_NBR INTEGER NOT NULL, CORRN_ID INTEGER NOT NULL, RX_CNT BYTEINT NOT NULL, DATA_TYP_CD BYTEINT NOT NULL, DATA_PD_CD BYTEINT NOT NULL, CYC_DT DATE NOT NULL, BASE_DT DATE NOT NULL, DATA_LOAD_DT DATE NOT NULL, DATA_DT DATE NOT NULL, SUPPLIER_DATA_SRC_CD BYTEINT NOT NULL, RX_CHNL_CD BYTEINT NOT NULL, MP_IMS_ID INTEGER NOT NULL, MP_LOC_ID NUMERIC(3,0), MP_IMS_ID_ACTN_CD BYTEINT NOT NULL, NPI_ID BIGINT,
The easiest way is to use the built-in substring() method of the String class. In order to remove the last character of a given String, we have to use two parameters: 0 as the starting index, and the index of the penultimate character.
Try doing this :
awk '{print substr($0, 1, length($0)-1)}' file.txt
This is more generic than just removing the final comma but any last character
If you'd want to only remove the last comma with awk :
awk '{gsub(/,$/,""); print}' file.txt
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With