gpt4 book ai didi

bash - 用 bash 中的字符串替换 "template tag"

转载 作者:行者123 更新时间:2023-11-29 09:26:36 24 4
gpt4 key购买 nike

我有这个:

#!/bin/bash

# Open up the document
read -d '' html <<- EOF
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<meta name="...">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
EOF

#Overwrite the old file with a new one
echo "$html" > index.html

# Convert markdown to HTML
`cat README.md | marked --gfm >> index.html`

# Put the converted markdown into the HTML
read -d '' html <<- EOF
</body>
</html>
EOF

# Save the file
echo "$html" >> index.html

但我想要的是单写,而不是基本上,在第一个 EOF我有 </html></body>也在 <body> 之间我喜欢 {{CONTENT}} 的标签替换为 cat README.md | marked --gfm喜欢:

read -d '' html <<- EOF
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<meta name="...">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
{{CONTENT}}
</body>
</html>
EOF

我用 sed 反复尝试命令,但我认为我做错了什么,我读到当要搜索的文件内容中有斜线时会出现问题。我如何实现 sed在这里指挥?

最佳答案

我认为您可以使用对 cat 的单个调用来完成此操作,使用命令替换在中间插入自述文件:

cat << EOF > index.html
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<meta name="...">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
$(marked --gfm < README.md)
</body>
</html>
EOF

另一种选择可能是使用 printf,将 {{CONTENT}} 占位符替换为简单的格式字符串。

read -d '' -r template <<EOF
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<meta name="...">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
%s
</body>
</html>
EOF

printf "$template" "$(marked --gfm < README.md)"

关于bash - 用 bash 中的字符串替换 "template tag",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com