0
지금까지 검색 기준에 따라 파일 내용을 추가하기 위해 유닉스 스크립트 아래에서 시도했습니다. 모든 것이 좋습니다. 하지만 아래의 스크립트를 여러 번 실행하면 perl 명령이 파일에 계속 추가됩니다.검색 기준으로 파일 내용에 문자열을 추가하는 방법
searchArr=(test1 test2 test3)
replaceArr=(somestring1 somestring2 somestring3)
a=`echo ${#searchArr[@]}`
echo $a
for ((i=0;i<$a;i++))
do
searchValue=`echo ${searchArr[i]}`
replaceValue=`echo ${replaceArr[i]}`
for file in `find . -name \* -print`; do
grep "$searchValue" $file &> /dev/null
if [ $? -ne 0 ]; then
echo "Search string not found in $file!"
else
perl -p -i -e "s/$searchValue/$replaceValue/g" $file
echo $file "Replace string Success!"
fi
done
done
전류 출력 : - 그것은 그런 식으로 추가 계속 것 이상의 시간을 실행하면
. 예를 들어 두 번 실행하면이 추가됩니다 두 번
somestring1somestring1test1
somestring2somestring2test2
somestring3somestring3test3
필요한 출력 : - 아무리이 나오지도 검색 패턴에
somestring1test1
somestring2test2
somestring3test3
이 문제를 해결할 수 있습니까? 이 perl 명령에 어떻게 적용합니까 ?? –
http://www.regular-expressions.info/wordboundaries.html –