关于sed
的问题
我有一个JSON文件,我想把它插入另一个文件。
我尝试的是获取.json
文件的所有内容,该文件包含4500行,并替换HTML中的特定文本:
{DATA_INPUT}
字符串
我一直在使用
DATA_JSON=$(echo "$(<data.json)")
sed -i "s/{DATA_INPUT}]{\}/${DATA_JSON}{\}/g" convert.html
型
但似乎不起作用,
而我得到
/bin/find: Argument list too long
型
我也试过:
DATA_JSON=$(echo "$(<data.json)")
find . -maxdepth 1 -type f -name 'convert.html' \
-exec sed -n "s/{DATA_INPUT}/${DATA_JSON}/g" {} \;
型
但是得到:
/bin/sed: Argument list too long
型
我想把这个和巴斯结合起来
所以基本上我尝试从文件中获取所有内容并替换convert.html
中的文本
1条答案
按热度按时间hkmswyz61#
sed
已经知道如何插入文件的内容。字符串
单独地,这将在匹配之后的以下行插入
data.json
的内容。型
(可能在您对有一个工作脚本感到满意之前,可以忽略
-i
),但如果您想保留{DATA_INPUT}
标记周围的上下文并将其保留在插入内容的任何一侧,那么这仍然相当笨拙,并且不能正确工作。也许尝试Awk或Perl会更有成效,它们的只读性更低;
型