1. 변수할당(=)시, 반드시 "띄어쓰면" false로 인식되기 때문에 반드시 붙여서 작성할 것 [링크]
2. mv,cp,rm 등 파일 여러개를 대상으로 command를 날리고 싶다면, 문자열"*"이 아닌 명령문 *을 날려야 한다.
3.mv(& mkdir)이 cp&rm보다 좋은 이유 : mv는 저장장치의 물리적 위치가 변하지 않고 접근 위치에 대한 포인터만 바뀌는데, cp는 새로운 저장영역을 확보해서 할당하기 때문에 오래걸리고 저장장치에 대한 부담이 생기는 거다!
4. 문자열을 split하고 싶다면, 위 사항을 참고해서 작성할것!
for dirName in `cat ./dir.txt`
do
IFS='\/' read -r -a array <<< "$dirName"
mkdir -p "./${array[2]}/${array[1]}"
mv ./"${array[1]}/${array[2]}"/* ./"${array[2]}/${array[1]}"/
done
5.array전체를 select하려면 [@]이라고 한다..
- 문자열 쪼개서 배열만들기 링크
- 배열 만들기 링크
6. 대문자 폴더만 찾아서 삭제하기
find . -maxdepth 1 ! -name '*[![:upper:]]*' -exec rm -rf {} \;