스크립트에서 파일 이름을 바꾸시겠습니까? [복사]

스크립트에서 파일 이름을 바꾸시겠습니까? [복사]

저는 더 짧은 시간에 작업을 완료할 수 있는 스크립트를 만들고 있습니다. 파일 이름을 자동으로 바꾸는 방법이 있습니까?

WDMyCloud_plexmediaserver_1.16.1.1291.bin(07082019)'

도착하다

WDMyCloud_plexmediaserver_1.16.1.1291.bin

따라서 숫자를 감지하지만 그 뒤의 부분을 삭제합니다 .bin.

저는 우분투를 사용하고 있습니다.

답변1

사용 mv:

file='WDMyCloud_plexmediaserver_1.16.1.1291.bin(07082019)'
mv "$file" "${file%.bin*}.bin"

prenameor file-rename(Debian/Ubuntu 에서도 호출됨 )을 사용하세요 rename:

prename -n 's/\.bin.*$/.bin/' WDMyCloud_plexmediaserver_1.16.1.1291.bin\(07082019\)

실제로 이름 바꾸기를 수행 하려면 삭제하세요 -n.

답변2

스크립트를 생성할 수 있습니다:

#!/bin/bash
for i
do
mv "$i" "${i%\(*}"
done

이제 스크립트가 모든 파일과 동일한 폴더에 있는 경우 파일 이름을 매개변수로 스크립트에 전달할 수 있습니다.

예를 들어

file 'WDMyCloud_plexmediaserver_1.16.1.1291.bin(07082019)' 'WDMyCloud_plexmediaserver_1.16.1.1292.bin(07082011)'

같은 폴더에서 이름이 변경됩니다

WDMyCloud_plexmediaserver_1.16.1.1291.bin
WDMyCloud_plexmediaserver_1.16.1.1292.bin

관련 정보