-
Senior Member
registered user
do something with all files in all subdirs
hi,
I want to remove the idv2 tags from my musepack files, which i have accidentally added. but my files are put in several directory's (in fact, every band+every album in his own dir). I downloaded a command-line tool, to remove the idv2 tag, with a command like
Code:
idv2edit -remove <filename>
but... how to do this for all files in all dirs, in one command??? I guess it is possible, but how... I dont know. (actually I dont know much 'bout the commandline, and i cant find it in manuals, how-to's etc)
-
Senior Member
registered user
If your 'idv2edit' command can only act on one file at a time, try:
Code:
for $file in $( find /startdir -name '*.mp3' )
do
idv2edit -remove $file
done
If it can handle a list of files, there's a slightly simpler form:
Code:
$ find /startdir -name '*.mp3' | xargs idv2edit -remove
I suggest you first susbtitue a plain 'echo' to your command, so you'll
see exactly which files will be touched.
-
Senior Member
registered user
hi...
I tried your commands, and, after some playing with man etc I was still unable to use them. find didnt return any mp3z, but I found out that if I modified the command into: find -name '*/*/*.mp3', it did return the filenames. but that didnt seem to change anything, so I guess id3v2edit doesnt accept more files.
so, I tried to copy-paste your first idea:
(the 'find' part works, at least, it returns alot of mpc-files)
for $file in $( find -name '*.mpc' ) ; do id3v2 -d $file ; done
but this only returned "bash: `$file': not a valid identifier". and I dont even know what that means... I understand what the the intention is of the piece of code, but I cant solve this problem. 
tried read the man for bash, it told me that it should be allright, as far as I understood it.
-
Senior Member
registered user
(the first command replies: xargs: unmatched single quote)
-
Senior Member
registered user

Originally Posted by
Superstoned
for $file in $( find -name '*.mpc' ) ....
Sorry, that should be: "for file in..." (no dollar here, but one's needed when dereferencing)
-
Senior Member
registered user
aaah, tnx, I'm trying it now...
-
Senior Member
registered user
and it doesnt seem to work, although it comes closer. but now i get errors like
fopen: ./Bands/klassiek/09: id3v2: No such file or directory
fopen: -: id3v2: No such file or directory
fopen: The: id3v2: No such file or directory
fopen: Blue: id3v2: No such file or directory
fopen: Danube.mpc: id3v2: No such file or directory
looks like the directory's (and long filenames) are the problem?!?
command was:
for file in $( find -name '*.mpc' ) ; do id3v2 -d $file ; done
I tried to put the $file this way: '$file'. but that returned
fopen: $file: id3v2: No such file or directory
and im goin' now, for some days, so - ill check back later (next week). tnx for all the help and advice!
-
Senior Member
registered user

Originally Posted by
Superstoned
looks like the directory's (and long filenames) are the problem?!?
Indeed embedded spaces seem to interfere; try
Cheers,
bald.
-
Senior Member
registered user
--Here's a couple of more things you can try adapting to work with the ' find ' command: (NOTE: Case-conversion commands generally don't work on FAT32 - it thinks it's the same exact filename. Copy the files to a Linux filesystem like ext2 or reiserfs if you want them case-translated.)
# cvt all fnames to locase:
Code:
for i in *.[Mm][Pp]3; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
# cvt spaces to dashes
Code:
for i in *.mp3; do mv "$i" `echo $i | tr ' ' '-'`; done
# cvt to std extensions - another way
Code:
for i in *.MP3; do mv "$i" "`basename "$i" .MP3`.mp3"; done

Originally Posted by
Superstoned
and it doesnt seem to work, although it comes closer. but now i get errors like
fopen: ./Bands/klassiek/09: id3v2: No such file or directory
fopen: -: id3v2: No such file or directory
fopen: The: id3v2: No such file or directory
fopen: Blue: id3v2: No such file or directory
fopen: Danube.mpc: id3v2: No such file or directory
looks like the directory's (and long filenames) are the problem?!?
command was:
for file in $( find -name '*.mpc' ) ; do id3v2 -d $file ; done
I tried to put the $file this way: '$file'. but that returned
fopen: $file: id3v2: No such file or directory
and im goin' now, for some days, so - ill check back later (next week). tnx for all the help and advice!
-
Senior Member
registered user
hmmm, sorry i didnt reply earlier. thought I posted, but I think I forgot to press submit...
I've been on a festival for some days
got sick
so im back home...
anyway, I still haven't made it.
when I give the following line:
for file in $( find -name '*.mpc' ) ; do id3v2 -d $file ; done
I get:
(...)
fopen: ./Overig/Cypress: id3v2: No such file or directory
fopen: Hill/III: id3v2: No such file or directory
fopen: (Temples: id3v2: No such file or directory
fopen: of: id3v2: No such file or directory
fopen: Boom)/Cypress: id3v2: No such file or directory
fopen: Hill: id3v2: No such file or directory
fopen: -: id3v2: No such file or directory
fopen: 13: id3v2: No such file or directory
fopen: -: id3v2: No such file or directory
fopen: Strictly: id3v2: No such file or directory
fopen: Hip: id3v2: No such file or directory
fopen: Hop.mpc: id3v2: No such file or directory
(...)
there seems to be a problem with the spaces somewhere?
I tried:
for file in $( find -name '*.mpc' ) ; do id3v2 -d '$file' ; done
but I got:
(...)
fopen: $file: id3v2: No such file or directory
fopen: $file: id3v2: No such file or directory
fopen: $file: id3v2: No such file or directory
fopen: $file: id3v2: No such file or directory
fopen: $file: id3v2: No such file or directory
(...)
Similar Threads
-
By sunpascal in forum The Lounge
Replies: 5
Last Post: 01-13-2010, 07:06 AM
-
By jehan60188 in forum MS Windows & New to Linux
Replies: 2
Last Post: 01-23-2005, 11:57 AM
-
By pc3 in forum General Support
Replies: 3
Last Post: 06-27-2004, 01:18 PM
-
By bikerman in forum General Support
Replies: 1
Last Post: 04-15-2004, 12:22 AM
-
By Akurei in forum General Support
Replies: 1
Last Post: 03-20-2004, 05:48 AM
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules

Lenovo Thinkpad X1 Yoga Gen 6 14" 16GB, Storm Gray
$356.80

Lenovo Thinkpad T14 Gen 2 14" 16GB, Thunder Black
$259.00

Lenovo ThinkPad L14 Gen 3 Laptop 14” FHD Core i5 12th 16GB RAM 512GB SSD Win 11
$374.99

Lenovo ThinkPad Business Laptop 14" AMD Ryzen 7 16GB RAM 256GB SSD Windows 11
$229.99

LENOVO THINKPAD T14s GEN 2a Ryzen 7 PRO 5850U 1.9GHz 16GB 256GB TOUCH - NO OS
$299.95

Lenovo ThinkPad E590 15.6" Intel Core i7 8th Gen 16GB 256GB Windows 11 Good
$149.99

Lenovo ThinkPad T14 Gen 6 16GB Ultra 7 255U 512GB
$989.95

Lenovo ThinkPad L15 Gen 3 15.6" 32GB, Thunder Black
$266.00

Lenovo Thinkpad E15 Gen 2 8GB RAM 256GB SSD Intel Core [email protected] Laptop
$220.36

lenovo v15 gen3 type 82tv AMD Ryzen 5, 16 gb, 256 nvme. good battery.
$220.00