0

I'm on linux Mint. I'd like to recursively rename files like

5f0c74603cbdca44fd877_source.mp4?Tag=1&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6XC9cL2NkbjIub25seWZhbnMuY29tXC9maWxlc1wvOVwvOWNcLzljNTQzZGI1OGI0ZmQyYWI0YmExMzEzMTUxYmExZjdiXC81ZjBjNzQ2MDNjYmRjYTQ0ZmQ4Nzdfc291cmNlLm1wND9UYWc9MS


1904x2600_8c25949033674d6559bcfd3f02aed68d.jpg?Tag=1&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6XC9cL2NkbjIub25seWZhbnMuY29tXC9maWxlc1wvYVwvYTFcL2ExNjZmMzRlZGZjMWU3NDRkOGIxZTEwYmZkNDIxNzJjXC8xOTA0eDI2MDBfOGMyNTk0OTAzMzY3NGQ2NTU5

to

5f0c74603cbdca44fd877_source.mp4
1904x2600_8c25949033674d6559bcfd3f02aed68d.jpg

so that I can copy files to an external hard drive.

Anyone know a quick one liner in bash that could accomplish this?

There's also another type of file that cannot be moved

index.html?C=D;O=D

How can I rename that to something that has valid characters?

Thanks!

PianoTiger
  • 41
  • 7

1 Answers1

2

I see you search to remove all characters after first ? (included).

for f in *\?*; do mv "$f" "${f%%\?*}"; done
Arnaud Valmary
  • 2,039
  • 9
  • 14