2011-02-14 123 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