复杂(?)Unix文本替换命令

复杂(?)Unix文本替换命令,unix,command-line,command,Unix,Command Line,Command,命令行等效于什么: 对于内容中包含“AAA”的每个文件,找到“BBB”并将其替换为“CCC” 因此,该命令将匹配并替换文件中的BBB: <html> <head></head> <body> AAA Hello world! BBB </body> </html> <html> <head></head> <body> Don't match me! BBB

命令行等效于什么: 对于内容中包含“AAA”的每个文件,找到“BBB”并将其替换为“CCC”

因此,该命令将匹配并替换文件中的BBB:

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

AAA
你好,世界!
BBB
但不在文件中:

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

别跟我比!
BBB

提前谢谢

类似于
grep-laaa文件名| xargs sed-i.bak's/BBB/CCC/g'
的东西应该可以工作。将来,你可能会想在电视上问这样的问题。

使用积极的回头看也可以做到这一点/(?我可以将文件名替换为.to遍历所有文件吗?.bak是关于什么的?我已经做了备份。谢谢!我在别处问过了,得到了以下信息。你的做法有什么不同?::grep-Rl AAA.| xargs sed-I-e's/BBB/CCC/'