Json 使用批处理将文本添加到文档中的某一行
好的,我需要在Json 使用批处理将文本添加到文档中的某一行,json,batch-file,perl,Json,Batch File,Perl,好的,我需要在json文件中的某一行添加一行文本 例如: "Forge": { "name": "Forge", "lastVersionId": "1.6.4-Forge9.11.1.916" }, 到某一行的现有json文件中 可能吗?是的,你可以。尝试使用unix命令“sed”。 在您的情况下,使用以下脚本将其插入第5行: sed -i '5i "Forge": { "name": "Forge", "lastVersionId": "1.
json
文件中的某一行添加一行文本
例如:
"Forge": {
"name": "Forge",
"lastVersionId": "1.6.4-Forge9.11.1.916"
},
到某一行的现有json
文件中
可能吗?是的,你可以。尝试使用unix命令“sed”。 在您的情况下,使用以下脚本将其插入第5行:
sed -i '5i "Forge": { "name": "Forge", "lastVersionId": "1.6.4-Forge9.11.1.916" }' Json.file
要在行后插入,请参见编辑历史;) 在中使用适当的JSON解析器为键
lastVersionId
的值添加foobar
:
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;
批处理文件是windows的东西。sed对windows来说是可以的,只需将单引号改为双引号。我认为OP不想在不需要的时候安装一个新程序来完成这项工作。它是发送给朋友来安装一些东西,所以是的,不能真正安装程序来完成这项工作,只能使用香草批处理嘿!!!为什么所有的反对票都没有评论?这是一个合理的问题。@user2867397“确定”行是如何确定的?按数字?字符串搜索?你试过什么吗?问题是什么?唯一的问题是,它将全部输出放在第一行。你是什么意思?我在一个有9行的文件上测试了这一点,指定了第2行,newfile.txt包含10行,新的一行插入了正确的位置。你保留了所有的空行吗?空行允许将整个文件存储在变量中。如果您的意思是将插入的线全部放在一行上,只需在if中添加更多的集。请给我一些关于这个问题的更多信息,我会修改代码。看到这个,我想把Forge放在第3行,但是当我尝试时,输出都在第1行
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"
}
}