2013-08-22 13 views

回答

2

首先,請注意PS1是bash提示符。有關更多參考資料,請參閱How to: Change/Setup bash custom prompt (PS1)

sed -i "s/PS1\='\\\\u\@[^]]*:/PS1\='\\\\u\@\\\\H:/g" test 

它查找文本PS1\='\\u\@[^]]*:test文件與PS1\='\\u\@\\H:替換它。

sed 's/hello/bye/g' file是基本的sed命令查找hellobye所有沿file替換它(g的意思是「全球性」,所以它每次找到的文本時間)。

雖然此sed表達式在stdout中顯示結果,但如果您希望結果更新文件,您可以添加-i選項。

然後,請注意,我提到文本查找的是PS1\='\\u\@[^]]*:,而在sed表達式中我們看到的是PS1\='\\\\u\@[^]]*:。這就是爲什麼任何\必須逃脫...和\字符用於這樣做。

關於特定模式查找:

PS1\='\\u\@[^]]*: 

意味着像

PS1='\\u\@` 
+ 
any string until the character `]` is found 
+ 
: 

文本,以便它會匹配PS1\='\\u\@[hello how are you]:文本。

它用PS1\='\\u\@\\H:替換它們。

+0

請您詳細說明它取代哪種模式。例如 –

+0

@KrishnaReddy當然,看到更新的答案。 – fedorqui

+0

是的,這是我在我的回答中評論的命令。 – fedorqui