linux shell批量重名了java 类
linux shell批量重名了java 类
所以的单元测试类,名称后面添加Test
即把Student.java ,改为StudentTest.java
#!/bin/bash for i in `find /Users/whuanghkl/work/shop/src/test/java/com/ -type f -name "*.java"| sed 's#\.java$##'`;do fileSimpleName=`echo $i|sed 's#^.*/##'` #去掉目录 suffix22=`echo $fileSimpleName |sed '/Test$/d'` #判断文件名称是否以Test结尾 if [ ! -s $suffix22 ]; then echo "aa" echo $suffix22 echo "fileSimpleName:$fileSimpleName" #Student ,没有.java echo $i.java sed -i "" "s/$fileSimpleName/${fileSimpleName}Test/g" $i.java mv $i.java ${i}Test.java fi done
注意:
(1)mac中 sed -i 后面要增加空字符串
(2)mac中,xargs的用法也不太一样
find . -iname *something* | xargs -I {} mv {} ../Other/Location
find ./ -type f -iname "*.json"|sed 's/json$//' |xargs -I {} mv {}json {}xml