問題描述
有一次啟動一個項(xiàng)目案糙,報錯說存在重復(fù)的property XXX_XXXX配置。這種情況在大項(xiàng)目里面有時候會碰到的,就是兩個開發(fā)者之間使用了同一個名稱的屬性奥吩,因?yàn)镻roperties文件沒有java的命名空間規(guī)范,所以蕊梧,這種問題很難避免霞赫,那么作為一個做版本的人,怎么怎么快速查找被重復(fù)使用的屬性名稱呢肥矢?
問題解決
可以使用find端衰,xargs和grep命令組合:
首先使用find命令找到項(xiàng)目下的所有屬性文件:
find [項(xiàng)目配置文件的路徑] -name "*.properties" -type f
然后xargs命令接收這些找到的文件,把他們以參數(shù)的形式傳給grep
grep則查找文件內(nèi)容甘改,使用-n參數(shù)能夠打印所在行旅东,那么,拼在一起:
find [項(xiàng)目配置文件的路徑] -name "*.properties" -type f -print0 | xargs -0 grep -n [屬性名]
得到的結(jié)果類似于
[文件名]:[行號]:[屬性所在行]