巧用xargs命令

来源:互联网 发布:2017mac更新 编辑:程序博客网 时间:2024/06/01 12:06

    系统因为属性文件冲突的原因,出现了bug。最后经过查找原因,终于定位到问题所在:struts在加载消息资源文件时,会存在一个map中,map的键对应为配置中的key属性。如果没有设置key属性,会放到默认的键上。因为两个struts配置文件中,都定义了默认的消息资源文件,导致系统出现bug。

    由于系统中struts配置文件有好几十个,为了搞清楚到底是哪俩个文件导致,需要逐个查找配置文件。很多配置文件中,并没有配置消息资源文件,所以很多时候都做的是无用功。实在不想重复劳动,所以就想到用shell脚本实现。

    最原始的想法是把所有配置文件都找出来,然后用命令挨个查证配置文件。这时想到了xargs命令。

    脚本如下:

find . -name "*.xml" | xargs grep -i "<message"

    结果如下:

./struts_cfg/solb/struts-config.xml:    <message-resources parameter="resources.ResourceMenu" key="menu"/>./struts_cfg/solb/struts-config.xml:    <message-resources parameter="resources.ResourceInterface" />   ./struts_cfg/solb/struts-config-special.xml:    <message-resources parameter="resources.ResourceInterface" />./struts_cfg/solc/struts-config.xml:    <message-resources parameter="resources.ResourceInterface" />./struts_cfg/solc/struts-config.xml:    <message-resources parameter="resources.ResourceMenu" key="menu"/>./struts-config.xml:  <message-resources parameter="resources.ApplicationResources" key="test"/>./meeting-strutsconfig.xml:     <message-resources parameter="resources.MeetingResources" key="meeting"/>
    这时就很容易定位到问题所在了。
原创粉丝点击