저는 더 짧은 시간에 작업을 완료할 수 있는 스크립트를 만들고 있습니다. 파일 이름을 자동으로 바꾸는 방법이 있습니까?
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"
prename
or 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