
다음과 비슷한 파일이 많이 있습니다.
56.mp3?referredby=rss
내가하고 싶은 것은 ?referredby=rss
다음과 같이 제거하는 것입니다.
56.mp3
어떻게 해야 할까요?
답변1
Perl이 있다면 rename
다음과 같이 쉽습니다.
rename 's/\?referredby=rss//' ./*referredby=rss
와 함께 util-linux
rename
:
rename '?referredby=rss' '' ./*referredby=rss
답변2
(glob 표현식에서 특별한 의미가 있는) 이스케이프 처리를 제외하면 ?
이는 실제로 다른 파일의 이름을 바꾸는 것과 다르지 않습니다. 예를 들어 간단한 쉘 루프를 사용할 수 있습니다.
for f in *.mp3\?referredby=rss; do mv -- "$f" "${f%\?*}"; done
${f%\?*}
일치하는 가장 짧은 후행 요소를 제거하는 쉘 매개변수 확장은 어디에 있습니까?\?*