有时候,我们希望把有些文件的特定内容替换成其他的,假如一个一个替换效率太低了,这个时候,我们可以借助强大的grep和sed 完成。
比如我有一些文件,我希望把其中的file.awen.me 这个url 替换成file.fangwenjun.com,首先,我们需要查找当前目录中包含这个域名的文件:
egrep -rn 'file\.awen\.me' *.md
|
如图所示

linux 修改
然后使用sed 替换
sed -i "s@file\.awen\.me@file\.fangwenjun\.com@g" `grep file\.awen\.me -rl ./`
|
最后我们验证下
ubuntu@ubuntu-xenial:/vagrant/_posts$ sed -i "s@file\.awen\.me@file\.fangwenjun\.com@g" `grep file\.awen\.me -rl ./` ubuntu@ubuntu-xenial:/vagrant/_posts$ egrep -rn 'file\.awen\.me' *.md
|
发现使用file.awen.me 已经查找不到了,而使用file.fangwenjun.com 可以查到。
ubuntu@ubuntu-xenial:/vagrant/_posts$ egrep -rn 'file\.fangwenjun\.com' *.md Ansible使用.md:178: Ansible使用.md:184: Ansible使用.md:188: ansible-学习笔记.md:215: ansible-学习笔记.md:366: Apache-服务.md:27:
|
mac 系统
mac 下 sed 替换 需要指定一个备份文件才可以。
sed -i "_bak" "s@tags: 心情@tags: 随笔@g" `grep 'tags: 心情' -rl ./`
|
文章作者:阿文
版权声明:本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0 许可协议。转载请注明来自
阿文的博客!