67

,ファイルの各行の末尾にあるカンマを削除したいと思います。で部分文字列関数を使用する以外に、どうすればできawkますか?

サンプル入力:

        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,
4

4 に答える 4

86

これをやってみてください:

awk '{print substr($0, 1, length($0)-1)}' file.txt

これは、最後のコンマを削除するだけでなく、最後の文字を削除するよりも一般的です

awk で最後のコンマだけを削除したい場合:

awk '{gsub(/,$/,""); print}' file.txt
于 2013-02-12T20:14:47.653 に答える
68

sedを使用できます:

sed 's/,$//' file > file.nocomma

最後の文字を削除するには:

sed 's/.$//' file > file.nolast
于 2013-02-12T20:14:08.147 に答える