linux 文本批量修改(grep、set)

一、想要替换之前的代码objects.get(),首先先使用grep找到项目中哪些地方用到了objects.get()

$ grep -rnw objects.get ./

./vip/models.py:25:            perm = Permission.objects.get(name = perm_name)
./lib/orm.py:18:    model_obj = cls.objects.get(*args,**kwargs)
./scripts/init.py:110:    vip1 = Vip.objects.get(level = 1)
./scripts/init.py:111:    vip2 = Vip.objects.get(level = 2)
./scripts/init.py:112:    vip3 = Vip.objects.get(level=3)
./scripts/init.py:115:    vipflag = Permission.objects.get(name='vipflag')
./scripts/init.py:116:    superlike = Permission.objects.get(name='superlike')
./scripts/init.py:117:    rewind = Permission.objects.get(name='rewind')
./scripts/init.py:118:    anylocation = Permission.objects.get(name='anylocation')
./scripts/init.py:119:    unlimit_like = Permission.objects.get(name='unlimit_like')
./scripts/init.py:120:    show_like_me = Permission.objects.get(name='show_like_me')
./common/middleware.py:36:                user = User.objects.get(pk=uid)
./App/models.py:56:            self._vip = Vip.objects.get(id = self.vip_id) # user.vip_id对应的是Vip表的primery_key(id)所以vip_id default = 1对应Vip表中的level是0

二、使用流编辑器sed 进行批量替换

# 假装修改,终端显示被修改后的代码实例,此时还没有修改
$ sed 's/objects.get/get/g' scripts/init.py

# 真实修改命令
$ sed -i 's/objects.get/get/g' scripts/init.py

# 解释 
# sed 's'                                         -->替换模式
# sed 's /被替代码/替换代码/' 
# sed 's /被替代码/替换代码/g'                      -->global 全文替换
# sed 's /被替代码/替换代码/g' 路径/文件名.py
# sed -i 's /被替代码/替换代码/g' 路径/文件名.py :  --> 修改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值