다음과 비슷한 파일이 많이 있습니다.
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%\?*}
일치 항목의 가장 짧은 후행 요소를 제거하기 위한 쉘 매개변수 확장은 어디에 있습니까?\?*