다음과 같은 파일 이름이 많이 있습니다.
2501254200*.nc
별표를 없애고 싶습니다. 하지만 다음 코드를 사용할 때 :
mmv '***' '#1#2'
오류가 발생했습니다.
2501254200*.nc -> : bad new name
Nothing done
이름에서 *를 어떻게 제거하나요?
답변1
많이 사용하지는 않지만 여기서는 파일 이름의 문자 mmv
와 정확히 일치하려면 중간 부분이 필요한 것 같습니다 . 패턴이므로 중간을 이스케이프 처리해 보세요 .*
*
*
*
mmv '*\**' '#1#2'
답변2
*
문자 그대로 사용하고 싶은 것을 탈출해야 합니다 . 이 시도:
for file in *\**; do mv "$file" "${file/\*/}"; done
또는 이미 설치한 경우(Debian 및 Ubuntu와 같은 파생 제품에 perl-rename
):rename
rename 's/\*//' *