--°--∫—Ä--Æ--∑—Å --ª—È—Å—Ã —Ñ —Ç—É--º--∞--Ω—Ã
与命令行中的许多内容一样,没有确认过程,因此您需要确保在启动命令之前正确设置语法,否则您可能需要执行另一个查找和替换来修复您的错误。
基本命令语法如下: perl -pi -w -e 's/THIS/THAT/g;' /path/to/files*.txt
对于单个单词示例 ,如果您需要在“Documents”文件夹中的每个.txt文件中将“ogre”的所有实例替换为“cornbread”,那么您将使用以下命令:
perl -pi -w -e 's/ogre/cornbread/g;' ~/Documents/*.txt
有关查找和替换整个短语的示例 ,我们假设我们将在一组.txt文件中将“The Chocolate Factory”替换为“The Wizard of Oz”,该文件以文档中存储的“Films”开头目录:
perl -pi -w -e 's/The Chocolate Factory/The Wizard of Oz/g;' ~/Documents/Films*.txt
查找和替换立即完成。 您可以使用cat和grep来检查更改:
cat ~/Documents/Films124.txt |grep "Wizard of Oz"
不可否认,这是相当先进的,是的,可以通过GUI应用程序(如TextWrangler和BBEdit)以更加用户友好的方式完成批量查找和替换多个文档,但有时命令行对于像这样的快速任务和其他快速任务来说更快类似,加上它不需要任何额外的下载使用。
Lifehacker对这个极好的伎俩大加赞赏。
更新 :'sed'命令是通过命令行快速查找和替换的另一种方法。 覆盖sed主要是另一篇文章的主题,但使用sed执行此任务的基本语法更简单,因此更容易记住:
sed -i 's/THIS/THAT/g' /path/to/files*.txt
没有正确或错误的方式,所以无论你使用perl还是sed都会成为个人喜好的问题。
从命令行查找并替换多个文档中的文本
从命令行查找和替换多个文档中的文本