使用sed命令批量修改文件里的指定字符串。一个简单示例,假设要将文件夹/path/to/directory下所有文件中的字符串old_string替换为new_string
使用cd命令进入目标文件夹
cd /path/to/directory
使用sed命令批量替换指定文件中的字符串
sed -i 's/old_string/new_string/g' *
命令概况
命令使用sed命令对当前目录下的所有文件进行批量替换操作,将每个文件中的old_string替换为new_string。
详细解释
sed是一个流编辑器,用于对文本进行处理。
-i选项表示直接修改文件内容,而不是将结果输出到标准输出。
‘s/old_string/new_string/g’:这是sed命令的替换操作,指示将每行中的第一个old_string替换为new_string。其中s表示替换操作的开始,g表示全局替换。
*:通配符,代表所有在当前目录下的文件。
linux 批量查找并替换当前目录下所有子目录内文件里的指定字符串
find . -type f -exec sed -i 's/老字符串/新字符串/g' {} +
命令概况
这个命令结合了find、sed和exec三个命令,用于批量在当前目录及其子目录下的所有文件中将字符串“老字符串”替换为“新字符串”。
详细备注
详细解释
find . -type f:使用find命令查找当前目录及其子目录下的所有文件(不包括子目录本身)。
-exec:对find命令找到的文件执行后续操作。
sed -i ‘s/老字符串/新字符串/g’ {} +:对每个找到的文件使用sed命令进行替换操作。
sed是一个流编辑器,用于对文本进行处理。
-i选项表示直接修改文件内容,而不是将结果输出到标准输出。
‘s/老字符串/新字符串/g’:这是sed命令的替换操作,指示将所有老字符串替换为“新字符串”。其中s表示替换操作的开始,g表示全局替换。
{}:在-exec中代表find命令找到的文件。
+:表示-exec参数的结尾。