在 Ubuntu(Linux)里“替换文本内容”常见有几种场景,下面按最常用 → 进阶给你说明。
sed 替换(推荐)sed -i 's/旧内容/新内容/g' 文件名
示例:
sed -i 's/foo/bar/g' test.txt
-i:直接修改文件g:替换一行中所有匹配只替换第 1 个匹配:
sed -i 's/foo/bar/' test.txt
备份原文件:
sed -i.bak 's/foo/bar/g' test.txt
sed -i 's/foo/bar/g' *.txt
递归目录:
find . -type f -name "*.txt" -exec sed -i 's/foo/bar/g' {} +
vim 文件名
进入命令模式后:
:%s/旧内容/新内容/g
%:整个文件g:一行全部替换c 可逐个确认::%s/foo/bar/gc
grep + sed 精准替换只替换包含某关键词的行:
sed -i '/error/s/old/new/g' log.txt
Ctrl + H:替换Ctrl + Shift + H:全局替换Ctrl + H如果内容含 /、. 等:
sed -i 's#/old/path#/new/path#g' file
如果你愿意,可以告诉我:
我可以给你一条直接能用的命令。