我有一个文件,我想用一个巨大的字符串文字替换其中的字符串,形式为“19209302”,“19209329”,这样有 10 万个条目。
我正在使用 sed,但出现“参数列表太长”错误,而如果我使用这样的 100 个条目,它就可以正常工作。
这是我在 shell 脚本 sed "s/@devices/$devices/" active_payload.json 中尝试执行的操作,其中文件有一个字符串 @device,我试图用 $devices 替换它,一个变量包含一个巨大的字符串
我该如何解决这个问题?
答案1
您可以先将要插入流中的字符串转储到临时文件中,然后使用临时文件作为sed
输入r
选项。
例如
echo $devices > tmp_file.txt
sed -i "s/@devices/r tmp_file.txt/" active_payload.json
rm tmp_file.txt