![스크립트에서 파일 이름을 바꾸시겠습니까? [복사]](https://linux55.com/image/156778/%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EB%B0%94%EA%BE%B8%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
저는 더 짧은 시간에 작업을 완료할 수 있는 스크립트를 만들고 있습니다. 파일 이름을 자동으로 바꾸는 방법이 있습니까?
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