0

我想从文件中选择一段代码,例如:

server foo4 {    
listen {
    ipaddr = 127.0.0.1
    port = 2000
    type = auth
    }
authorize {
    update control {
            Cleartext-Password := "bob"
            }
    pap
    }
authenticate {
    pap
    }
}

from 文件,上面的代码不需要包含所有元素,但它必须始终采用以下形式:

server foo4 { }

有没有办法为此或其他方式使用正则表达式?

4

1 回答 1

1

确定这一点的一种骇人听闻的方法是:

[[ $(tr -cd '{' < input | wc -c) == $(tr -cd '}' < input | wc -c) ]] && echo "Seems ok" || echo "Not ok"

请注意,这仅确定输入文件中{和的计数是否相同。}它不适用于以下输入:

server foo4 {    
listen {
authorize {
  }
  }
authenticate {
    pap
    }
}
于 2013-10-09T06:52:51.180 回答