모든 디렉토리의 이름을 바꾸고 날짜 문자열 이름을 하이픈으로 구분하여 바꿉니다.

모든 디렉토리의 이름을 바꾸고 날짜 문자열 이름을 하이픈으로 구분하여 바꿉니다.

예를 들어dates라는 하위 디렉터리가 있습니다 09 January 2020. 공백을 하이픈으로 바꾸기 위해 터미널 명령을 사용하여 모든 디렉터리의 이름을 바꿨습니다.

$ for i in *; do mv "$i" "`echo $i | sed -e 's, ,-,g'`"; done

이제 이름이 하위 디렉터리입니다 09-January-2020.
날짜 순서를 반대로 하고 이름이 하위 디렉터리를 가져오고 싶습니다 2020-January-09. 위와 동일한 for 루프를 사용하지만 다른 sed 명령을 사용하여 하위 디렉터리 이름의 날짜 형식 순서를 바꾸고 싶습니다.

답변1

sed디렉터리의 새 이름을 만드는 데 사용됩니다 .

for d in *; do
    echo mv -- "$d" "$(echo "$d" | sed -E 's/(.*)-(.*)-(.*)/\3-\2-\1/')"
done

브래킷 내의 일치하는 부품은 교체를 위해 역순으로 재사용됩니다. echo테스트 후 첫 번째 것을 제거하십시오.

관련 정보