0

「/usr/local/apache/conf/httpd.conf」からドメイン名をエクスポートしようとしています。ファイル内のドメイン名は次のようになります。

ServerName www.site.com
ServerName www2.site.org

私は使用しようとしました:

cat /usr/local/apache/conf/httpd.conf | grep ServerName

ただし、出力には次が含まれます。

# ServerName allows you to set a host name which is sent back to clients for
ServerName www.site.com
# to the server the response is coming from) it will use ServerName and
#    ServerName host.some_domain.com
# ServerName allows you to set a host name which is sent back to clients for
ServerName www2.site.org
# to the server the response is coming from) it will use ServerName and
#    ServerName host.some_domain.com
4

3 に答える 3

2

試す

grep '^ServerName' /usr/local/apache/conf/httpd.conf

これが機能するのは、grepがパターン内の正規表現を受け入れるためです。^任意の行の開始位置です。

また、 には filename パラメータがあるため、catなどにファイルを渡すために使用しないでください。grepgrep

于 2013-08-22T04:55:15.220 に答える
0
grep '^ServerName' your_file

また

perl -lne 'print if(/^ServerName[\s]+www/)' your_file
于 2013-08-22T07:06:03.447 に答える
0

awkを試してください

awk 'BEGIN{count=0;print "Text at top";}/ServerName/ {count++;if(count == 1){print "Text  
between two ServerName", count}}END{print "Text at the end"}' /usr/local/apache
/conf/httpd.conf

print ステートメント内のテキストを独自のテキストに置き換えます。

BEGIN セクションは次のように出力されます:

END セクションは以下を出力します: # to the server the server the response is being from) それは ServerName と #ServerName host.some_domain.com を使用します

間にある print ステートメントは、2 つの ServerName エントリの間のステートメントを出力します。

于 2013-08-22T04:56:21.727 に答える