파일명을 일괄 변경하려고 합니다.

choco6의 이미지


파일명을 일괄 변경하는 방법을 검색하면 많은 글들이 나오긴 하지만 대부분 문자 치환 정도의 방법 밖에 안나오네요.
제가 원하는 파일 변경은 다음과 같습니다.

[나도향]감자.txt

라는 파일이 있다면,

감자 - 나도향.txt

이렇게 치환이 아닌 문자열 위치를 변경하는 일괄 변경은 어떻게 스크립트를 짜야할지 잘 모르겠습니다.
고수 여러분의 조언 부탁드립니다.

Fe.head의 이미지

echo "-나도향-감자.txt" |sed -e 's/-\([^-]\+\)-\([^\.]\+\)\(.*\)/\2-\1\3/'
감자-나도향.txt

이걸 참고 해보세요.

http://mcchae.egloos.com/viewer/10622665 여기 사이트를 참고하시구요.

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

choco6의 이미지

답변 감사합니다.
그런데, 말씀해주신 방법대로 해보니 다음과 같이 출력되네요.

# echo "[나도향]감자밭.txt" | sed -e 's/\([^-]\+\)-\([^\.]\+\)\(.*\)/\2-\1\3/'
[나도향]감자밭.txt

바뀐게 없습니다..-_-;;

yukariko의 이미지

']' 를 기준토큰으로 삼고 왼쪽, 오른쪽 문자를 나눠서
오른쪽 - 왼쪽 이렇게 출력해주면 되겠네요.