博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
目录内批量查找替换,我用 tree 替代 find。
阅读量:6529 次
发布时间:2019-06-24

本文共 750 字,大约阅读时间需要 2 分钟。

最近有需求,需要在编译好的前端文件里,查找替换特定字段。

通常都会想到用 find 找出文件再使用管道输出给 sed。但实际验证下来,包括去 StackOverFlow 上查找,解决方案都不理想。

主要的痛点是:find 对需要忽略的目录路径,处理很麻烦,效果还差异很大。例如这里说的

折腾了大半天,勉强能用,我们有多个前端项目,要做这个适配很痛苦。

晚上在家灵光一闪:tree 这个命令,可以列出目录下所有文件和目录,何不试试?

周六溜回公司,试验了一把,完美。以下是最终的 ansible 代码部分。

- name: Find and replace specified strings  shell: |    tree --noreport --prune -iFf \      -I 'node_modules|jspm_packages' \      -P '*.css|*.js|*.html|*.htm' \      build/{
{ region_name }}/{
{ prj_name }}/{
{ prj_output_dir | default('target') }} \ | grep -Ev '/$' \ | tail -n +2 \ | xargs -n1 sed -i -e 's/{
{ item.s1 }}/{
{ item.s2 }}/g' with_items: - s1: "work.aaa.com" s2: "{
{ region_name }}-work.{
{ region_domain }}"

用到的命令参数就不一一解释了。执行效率非常高。

转载地址:http://sjxbo.baihongyu.com/

你可能感兴趣的文章
MHA故障切换和在线手工切换原理
查看>>
JAVA并发,同步锁性能测试
查看>>
Python版本切换和Pip安装
查看>>
SilverLigth学习笔记--控制 Silverlight控件样式(转)
查看>>
我的Python成长之路---第三天---Python基础(9)---2016年1月16日(雾霾)
查看>>
poj3262
查看>>
第四十天笔记
查看>>
4、动态代理
查看>>
Loj #6073.「2017 山东一轮集训 Day5」距离
查看>>
我的TCP/IP学习笔记
查看>>
shell--字符串的截取变量子串串
查看>>
Cas_个人理解
查看>>
UISearchController
查看>>
梦断代码阅读笔记02
查看>>
轮毂电机光电增量编码器的ABZ信号详解
查看>>
SpringBoot整合Swagger测试api构建
查看>>
通过Gradle来下载依赖的jar包
查看>>
CentOS7下Django安装
查看>>
路由配置系统(URLconf)
查看>>
TextBox Template
查看>>