On Thu, Jan 05, 2012 at 06:59:00PM -0800, kei...@strucktower.com wrote: > I have a bunch of cdroms containing mp3's that I want to copy from the > cdrom to a vfat partition on a mounted drive on my network. For > completeness let me say that the drive is a hard drive in an enclosure > connected via usb. Using a simple cp command I get error messages, not > sure what they mean. Here is an example: > > keith@t520:~/evesdb4/mp3/misc$cp -vr /media/cdrom0/*.mp3 ./ > `/media/cdrom0/01 Zephyr & I.mp3' -> `./01 Zephyr & I.mp3' > cp: reading `/media/cdrom0/01 Zephyr & I.mp3': Input/output error > cp: failed to extend `./01 Zephyr & I.mp3': Input/output error > `/media/cdrom0/01 All I Want To Do.mp3' -> `./01 All I Want To Do.mp3' > cp: reading `/media/cdrom0/01 All I Want To Do.mp3': Input/output error > cp: failed to extend `./01 All I Want To Do.mp3': Input/output error > I would try copying a few files one-by-one to make sure you know for sure which files cp is choking on. You might also try using rsync, to see if it handles things any differently.
Silly question: does vfat support spaces in filenames? I recall something about that feature, a lawsuit by Microsoft, and a patch by Andrew Tridgell... > I am assuming (maybe incorrectly) that the problem has to do with the > spaces and special characters in the filenames. > > Maybe a correct use of quotes would help the globbing problem? > > But my preference would be to use a command syntax or small script that > would replace all the non-aphanumeric characters with an underscore as > well as change the case to all lower case during the copy process. > > I've looked around and can find lots of suggestions using some combination > of rename, awk, sed, find, etc but I can't seem to apply them to my > situation because I can't write to the cdrom and because I'm dealing with > a vfat partition, not ext. I have thousands of these mp3's. And they are > in multiple layers of subdirectories. > I use rename and qmv like this: # Rename files all lowercase, with underscores instead of spaces: rename 'y/A-Z,\ /a-z,_/' *.mp3 # Rename files all lowercase, with underscores instead of spaces, # commas, or parentheses: rename 'y/A-Z,[\ \,\(\)]/a-z,_/' *.mp3 qmv -f do *.mp3 qmv opens up the filenames in an editor and you can find/replace characters. It's not very automated, but still useful. For rename, maybe you can come up with a command that replaces everything that is not a-z or A-Z or a number, with an underscore. This doesn't work, but maybe someone could correct it: rename 'y/[!(A-Z),!(a-z),!(0-9)]/_/' *.mp3 Alternatively you could just specify every special character that you can think of and change it to an underscore: rename 'y/[\ \,\(\)\+\&\!\@\#\$\%\^\=\<\>\?\/\"\'\{\}\[\]\:\;\~\`]/_/' *.mp3 -Rob -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120106043956.gb...@aurora.owens.net