패턴을 사용하여 파일 이름 일괄 바꾸기

패턴을 사용하여 파일 이름 일괄 바꾸기

다음과 같은 이름의 파일이 있습니다.

63018933.mp4? 토큰=1325697436_b0c3e70c6e339380b4a484c576a8c287

63808488.mp4? 토큰=1325697401_4ae5f7a68d93873c8881b303e7655e14

예를 들어 63018933.mp4(mp4 뒤의 문자 제거)로 이름을 모두 바꾸려면 어떻게 해야 합니까?

답변1

이 도구가 있는 경우 rename(1)(Debian 또는 Debian 기반 Linux(Ubuntu 및 그 파생 제품 포함)가 있는 경우 이 도구를 사용할 수 있습니다):

rename -n 's/\.mp4.*$/.mp4/' *mp4*

올바른 패턴이 있다고 확신하면 삭제 -n(모의 실행)하고 정상적으로 실행되도록 하세요.

rename(1)주어진 파일 이름에 Perl 정규식을 적용합니다.

대부분의 다른 Linux 배포판에는 rename이 특정 이름 바꾸기 모드에 도움이 되지 않는 다른 파일 이름 바꾸기 절차가 있습니다.

답변2

이는 한 가지 방법일 수 있습니다.

for file in *.mp4\?token*; do mv --no-clobber "$file" "${file%%\?*}"; done

답변3

그리고 mmv:

mmv -n "*.mp4*" "#1.mp4"

출력이 올바르면 "-n"을 제거하십시오.

관련 정보