1

我可以用块中的 AllowOverride All 替换字符串AllowOverride None 但我只能打印匹配的文本块。

如何在比赛前后打印文本?

awk '
/<Directory \/var\/www\/>/, /<\/Directory>/ {
  sub(/AllowOverride None/,"AllowOverride All")
  print
}
' /etc/apache2/sites-available/default
4

2 回答 2

1

next在你现有的之后添加一个,print并在你现有的右花括号之后添加这个:

{print}
于 2012-08-17T00:54:50.787 回答
1

您可以只执行替换而不在第一个子句中打印,然后添加第二个子句以打印每一行。像这样:

awk '
/<Directory \/var\/www\/>/, /<\/Directory>/ {
    sub(/AllowOverride None/, "AllowOverride All");
}
{
    print;
}
' /etc/apache2/sites-available/default

我对此进行了快速测试,我相信它会起作用。

于 2012-08-17T00:56:22.810 回答