for file in *.md; do
new_name="${file#* }"
mv "$file" "$new_name"
done
| 개념 | JavaScript | Bash |
| ----------- | --------------- | ---------------------- |
| 반복 | `for...of` | `for...in...do...done` |
| 문자열 분리 | `split(' ')[1]` | `${var#* }` |
| 문자열 치환 | `replace()` | `${var/old/new}` |
| 파일 조작 | `fs.rename()` | `mv` |
| 출력 | `console.log()` | `echo` |
Parameter Expansion
file="351 529.md"
${file#* } # 앞에서 "* " 제거 → "529.md"
${file##* } # greedy
${file% *} # 뒤에서 " *" 제거 → "351"
${file%%.*} # greedy → "351 529"
${file/old/new} # 첫 번째 치환
${file//old/new} # 전체 치환
#은 앞(키보드에서 $보다 왼쪽), %는 뒤.
따옴표
mv $file $new_name # ❌ 공백 있으면 깨짐
mv "$file" "$new_name" # ✅
디버깅
set -x # 실행 명령어 출력
set -e # 에러 시 중단