
我試圖將/etc/snort/snort.conf
文件中的“mysql”替換為“MySQL”,並將結果輸出到另一個文件。文件中出現了兩次mysql
,如圖所示。
雖然使用sed s/mysql/MySQL/g /etc/snort/snort.conf > test.conf
確實有效,但替換g
為卻1
做了完全相同的事情,而不僅僅是替換第一次出現的情況。此外,使用2
替換任何內容而不是替換第二次出現的情況。
我希望能得到一些幫助來解釋這種行為。
編輯:這是我的文字檔:https://pastebin.com/X3R9HK6D
答案1
此1
標誌表示替換字串第一次出現的位置每行,不在整份文件中。類似地,對於 2。碰巧這也將替換文件中出現的所有內容。
$ cat > text.txt
foo foo
foo foo
$ sed s/foo/bar/1 text.txt
bar foo
bar foo
$ sed s/foo/bar/2 text.txt
foo bar
foo bar