Se você tem Perl rename , é tão fácil quanto
rename 's/\?referredby=rss//' ./*referredby=rss
com util-linux rename :
rename '?referredby=rss' '' ./*referredby=rss
Eu tenho muitos arquivos semelhantes a este:
56.mp3?referredby=rss
O que eu quero fazer é remover o ?referredby=rss para que eles sejam assim:
56.mp3
Como eu faria isso?
Além de escapar do ? (que tem um significado especial nas expressões glob), isso não é diferente de renomear qualquer outro arquivo: assim, por exemplo, você poderia usar um simples loop de shell
for f in *.mp3\?referredby=rss; do mv -- "$f" "${f%\?*}"; done
em que ${f%\?*} é uma expansão de parâmetro do shell que remove o menor elemento à direita correspondente a \?*