someprefix_20220323_12.jpg
someprefix_20220323_14.jpg
someprefix_20231212_12.jpg
이런 파일들에서 "someprefix_" 부분을 쉽게 제거하는 방법은
> for file in someprefix_*; do mv "$file" "${file#someprefix_}"; done;
이렇게 해주면 된다.
man bash 해서 "Parameter Expansion" 부분을 보면 설명이 나오는데,
기니까 간단하게 여기서 필요한 부분만 뽑으면,
${file#word} 라고 쓰면 왼쪽에서 word 를 제거한 부분을 반환한다.
${file##word} 라고 쓰면 역시 왼쪽에서 word를 제거한 부분을 반환하는데, 가장 긴 부분을 제거한다.
무슨 말이냐 하면
20220202_343434_01.jpg
파일이 있을 때
${file#2*2} 하면 20220202_343434_01.jpg 에서 제일 처음에 나오는 202 를 제외한 "20202_343434_01.jpg" 가 반환되지만,
${file##2*2} 하면 20220202_343434_01.jpg 에서 2*2에 해당하는 가장 긴 match인 202202202 를 제외한 "_343434_01.jpg" 가 반환되는 것이다.
오른쪽에서 제거하려면 %, %% 를 사용.
자주 안 쓰니 쓸 때마다 까먹어서 찾아봐야 함 ㅠㅠ