Я пытаюсь заменить фиксированный шаблон другим шаблоном. Шаблон, который необходимо заменить:

{
        "field_name": "genDtl.schmNature",
        "data_type": "tbaFlagType","fld_size": "0","bspc": "",
            "type": "hardcoded",
            "value": "N",
            "neg_value": "",
            "desc": "",
            "is_fetch_input": "N",
        },

Полученный шаблон должен быть:

{
        "field_name": "genDtl.schmNature",
        "data_type": "tbaFlagType","fld_size": "0","bspc": "",
            "type": "hardcoded",
            "value": "N",
            "neg_value": "",
            "desc": "",
            "is_fetch_input": "N",
        },
        {
        "field_name": "genDtl.autoClsOfZeroBalAcctFlg",
        "data_type": "tbaFlagType","fld_size": "0","bspc": "",
            "type": "hardcoded",
            "value": "Y",
            "neg_value": "",
            "desc": "",
            "is_fetch_input": "N",
        },

Как я могу использовать команду sed для достижения этой цели?

1 ответ1

0
sed 's/your-long-pattern/&the-additional-text/' inputfile

Амперсанд повторяет найденную строку.

Вы также можете использовать:

sed 's/\({ "field_name": "\)\(genDtl.schmNature\)\(", "data_type": "tbaFlagType","fld_size": "0","bspc": "", "type": "hardcoded", "value": "\)\(N\)\(", "neg_value": "", "desc": "", "is_fetch_input": "N", },\)/\1\2\3\4\5\1genDtl.autoClsOfZeroBalAcctFlg\3Y\5/' inputfile

(Непроверенные)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .