2016-12-28 46 views

回答

1

sed -i "/^ *HOME_NET/s/[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}/"$IP"/g"

要詳細一點:sed腳本的單行由線匹配規則(在文件中被稱爲地址)和要執行的動作(命令)的。 /^ *HOME_NET/部分是一個簡單的行匹配規則,而s/../../g部分是替換命令。如果您未指定行匹配規則,則所有行都匹配。

嘗試man sed瞭解更多。

+0

感謝您的回覆。如果HOME_NET在一行的開始處,它會工作正常,但是如果在HOME_NET之前有未知數量的空格,如suricata.yaml文件中那樣。 – Goforseeking

+0

我編輯了正則表達式。你必須在開始錨點'^'的行之後加上'*'('')來解釋前導空格。 – Robin479