패턴과 일치하는 한 위치에서 다른 위치로 디렉터리를 복사하는 방법.
예를 들어:
source = /media/src/
destination = /media/dest/
- 패턴은 다음과 같습니다
/b/w{2}_/w{2}/b
. 즉aa_bb
,fg_sd
,re_ya
,AA_BB
,aa_Bx
등과 같은 모든 디렉터리입니다.Ba_BB
답변1
답변2
이것이 당신이 원하는 것인지 확인하십시오. xx_yy/ab_cd/&&_$$(2char_2char) 형식의 디렉터리를 검색하고 내용을 새 디렉터리에 복사합니다.
usage : ./script.sh
cat script.sh
#!/bin/bash
MYDIR="/media/src/"
NEWDIRPATH="/media/dest"
DIRS=`ls -l $MYDIR | grep "^d" | awk '{print $9}'`
for DIR in $DIRS
do
total_characters=`echo $DIR | wc -m`
if [ $total_characters -eq 6 ]; then
has_underscore=`echo "$DIR" | grep "_"`
if [ "$has_underscore" != "" ]; then
echo "${DIR}"
start_string_count=`echo $DIR | awk -F '_' '{print $1}' | wc -m`
end_string_count=`echo $DIR | awk -F '_' '{print $2}' | wc -m`
echo "start_string_count => $start_string_count ; end_string_count => $end_string_count"
if [ $start_string_count -eq 3 ] && [ $end_string_count -eq 3 ]; then
cp -r $DIR $NEWDIRPATH/
fi
fi
fi
done