(질문)대상 디렉토리에 있는 모든 파일 앞에 임의 파일명으로 변
대상 디렉토리에 있는 모든 파일 앞에 임의 파일명으로 변경하는 스크립트를
어떻게 해야할지 모르겠어요...
제가 원하는것은 /usr/local/*에...모든 파일들을 앞에 "H_"을 달고싶은데
어떻게 해야 할까요?
도움 부탁드리겠습니다.
다음 소스를 좀 변경해서 해볼까해서...고민하고 있습니다.
#! /bin/bash
ARGS=2
E_BADARGS=65
ONE=1
if [ $# -ne "$ARGS" ]
then
echo "사용법: `basename $0` old-pattern new-pattern"
exit $E_BADARGS
fi
number=0
for filename in *$1* # 디렉토리에서 일치하는 모든 파일을 탐색.
do
if [ -f "$filename" ] # 찾았다면...
then
fname=`basename $filename` # 경로를 떼어내고,
n=`echo $fname | sed -e "s/$1/$2/"` # 새 이름으로 바꾼 다음,
mv $fname $n # 이름 바꿈.
let "number += 1"
fi
done
if [ "$number" -eq "$ONE" ] # 문법에 맞게 하려고
then
echo "$number 개의 파일이름이 바뀌었습니다."
else
echo "$number 개의 파일이름들이 바뀌었습니다."
fi
exit 0
cd /usr/localfor file in *; do mv $fil
cd /usr/local
for file in *; do mv $file H_$file; done
하면 될 거 같습니다.
감사합니다..^^
감사합니다..^^
안녕하세요..^^
댓글 달기