我正在使用 bash 脚本以交互方式编辑我的 hosts 文件。我需要在 hosts 文件中插入一行。该行需要插入到特定注释后的第一个空白行中。我插入的内容位于变量中。
这是我尝试过的($NEWLINE 之前已设置):
sed -i '# Insert New DNS / Virtualbox/$NEWLINE/g' /etc/hosts
我没有收到任何错误,但是没有写入该行。有什么建议吗?
答案1
认为:
# Insert New DNS
是您想要在其后插入第一个空行的行:
您可以通过以下命令实现此目的:
sed -i '/# Insert New DNS/,/^$/s/^$/'"$NEWLINE"'/' /etc/hosts
下面将在文件中搜索行号(地址):
/# Insert New DNS/,/^$/
以下内容将替换“空行”
s/^$/'"$NEWLINE"'/