shell引入配置文件,并循环过滤存在配置文件中的每一项-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

shell引入配置文件,并循环过滤存在配置文件中的每一项

2016-06-15 14:18:22 2028 1

``

导出SVN差异列表

svn log -r $rev1:$rev2 -v \
|egrep '^r[0-9]+ |^s+A |^s+M |^s+D ' \
|awk '{ if($0 ~ /^r/) {rev = $1;} else { if($1 == "M") $1 = "A"; print rev" "$1" "$2; }}' \
|sort -r -t ' ' -k3 -k2 \
|uniq -f1 \
|sort -t ' ' -k1 \
|awk '{print $1":"$2":"$3}' \
|sed "s#:$curr_url/#:$svn_dir/#" \
|egrep "$svn_dir" \
|awk 'BEGIN { print "#revision:A/D/C:src_file[:dest_dir]" } {print}' > $diff_name

上面这一段是SHELL脚本,用来导出SVN不同版本的差异列表。

现在需要补充一个功能,原先功能是导出所有的差异变化表,但是有些差异文件(如配置文件)是不需要更新到生产环境,需要过滤掉。

假设现在有一个file_ignore.list的文件,一行一条,如

/home/www/common/config/db_config.php
/home/www/crond/config/inc_crond.php

代表上面两个文件在导出差异变化时被过滤掉。

现假设:在红底白字(|egrep "$svn_dir" )那部分后得到的结果是:

r8596:A:/home/www/common/config/db_config.php
r8596:A:/home/www/crond/config/inc_crond.php
r8596:A:/home/www/recruitmng/model/recruitmng_dao.class.php
r8596:A:/home/www/crond/crond_save_sms_process_log.php
r8596:A:/home/www/cfg/model/CfgDictionaryItemDao.class.php

添加了过滤功能后,希望得到的结果是:

r8596:A:/home/www/recruitmng/model/recruitmng_dao.class.php
r8596:A:/home/www/crond/crond_save_sms_process_log.php
r8596:A:/home/www/cfg/model/CfgDictionaryItemDao.class.php

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:39:08
    list=(`cat file_ignore.list`) 
    cat file_list.txt|while read line; do 
       file_path=`echo $line|awk -F: '{print $NF}'`
       echo "${list[@]}" | grep -q "$file_path" || echo $line 
    done
    0 0
相关问答

1

回答

HBase Shell中的ddl命令获取表的描述describe的语法和示例是什么?

2021-12-06 17:37:13 108浏览量 回答数 1

1

回答

HBase Shell中的ddl命令删除一个列族的语法和示例是什么?

2021-12-06 17:36:05 136浏览量 回答数 1

1

回答

HBase Shell中的ddl命令添加一个列族的语法和示例是什么?

2021-12-06 17:35:20 112浏览量 回答数 1

1

回答

HBase Shell中的ddl命令创建表create的语法和示例是什么?

2021-12-06 17:32:34 220浏览量 回答数 1

1

回答

HBase Shell中的help命令的作用是什么?

2021-12-06 17:29:59 149浏览量 回答数 1

1

回答

Hadoop中Shell命令touchz的使用方法和目的以及返回值分别是什么?

2021-12-06 07:23:48 275浏览量 回答数 1

1

回答

Hadoop中Shell命令test的使用方法和目的以及返回值分别是什么?

2021-12-06 07:22:51 147浏览量 回答数 1

1

回答

Hadoop中Shell命令tail的使用方法和目的以及返回值分别是什么?

2021-12-06 07:22:22 170浏览量 回答数 1

1

回答

Hadoop中Shell命令stat的使用方法和目的以及返回值分别是什么?

2021-12-06 07:21:58 138浏览量 回答数 1

1

回答

Hadoop中Shell命令setrep的使用方法和目的以及返回值分别是什么?

2021-12-06 07:21:36 171浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
Shell 脚本速查手册
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载