
我有很多與此類似的文件:
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 表達式中具有特殊含義)之外,這實際上與重命名任何其他檔案沒有什麼不同:例如,您可以使用一個簡單的 shell 循環
for f in *.mp3\?referredby=rss; do mv -- "$f" "${f%\?*}"; done
其中${f%\?*}
是 shell 參數擴展,用於刪除匹配的最短尾隨元素\?*