2011-02-14 59 views
1

什麼是命令行等價的(?): 對於包含在其內容「AAA」的所有文件,找到「BBB」,並以「CCC」複雜的UNIX文本替換命令

因此,命令替換提前

<html> 
<head></head> 
<body> 
Don't match me! 
BBB  
</body> 
</html> 

感謝:將匹配和文件替換BBB:

<html> 
<head></head> 
<body> 
AAA 
Hello world! 
BBB  
</body> 
</html> 

而不是在一個文件!

回答

2

grep -l AAA file-names | xargs sed -i .bak 's/BBB/CCC/g'應該工作。在未來,您可能想提出如https://serverfault.com/這樣的問題。

+0

我可以使用*。*替換文件名來檢查所有文件嗎?什麼是.bak?我已經做了備份。 – Matrym 2011-02-14 03:42:49

0

使用正面看後面也可以做詭計s/(?<=AAA).*?(BBB)/CCC/g