使用批处理将文本添加到doc中的某一行

时间:2013-10-10 14:12:30

标签: json batch-file

好的,我需要在json文件中的某一行添加一行文字

示例:

"Forge": {
        "name": "Forge",
        "lastVersionId": "1.6.4-Forge9.11.1.916"
        },

到某一行的现有json文件中 有可能吗?

3 个答案:

答案 0 :(得分:0)

是的,你可以。尝试使用unix命令“sed”。 在您的情况下,使用以下脚本将其插入第5行:

sed -i '5i "Forge": { "name": "Forge", "lastVersionId": "1.6.4-Forge9.11.1.916" }' Json.file

答案 1 :(得分:0)

@echo on&setlocal enabledelayedexpansion
set NLM=^



set NL=^^^%NLM%%NLM%^%NLM%%NLM%

set a=
set b=0
for /f "delims==" %%i in (file.txt) do (
   set /a b+=1
   set a=!a!%%i!nl!
   if "!b!" EQU "2" (set a=!a!"Forge": {!nl!        "name": "Forge",!nl!            "lastVersionId": "1.6.4-Forge9.11.1.916"!nl!        },!nl!)
)
(echo %a%)>>newfile.txt

要在行后插入,请参阅编辑历史记录;)

答案 2 :(得分:0)

中使用适当的JSON解析器为密钥foobar的值添加lastVersionId

use strict; use warnings;
use JSON;
my $json = <<EOF;
{
    "Forge": {
        "name": "Forge",
        "lastVersionId": "1.6.4-Forge9.11.1.916"
        }
}
EOF
my $perl_DS = decode_json $json;
$perl_DS->{Forge}->{lastVersionId} .= " foobar";
print encode_json $perl_DS;

输出:

$ perl script.pl | json_pp
{
   "Forge" : {
      "name" : "Forge",
      "lastVersionId" : "1.6.4-Forge9.11.1.916 foobar"
   }
}