Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: do something with all files in all subdirs

  1. #1
    Senior Member registered user
    Join Date
    May 2003
    Location
    Utrecht, The Netherlands
    Posts
    298

    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)

  2. #2
    Senior Member registered user
    Join Date
    Mar 2003
    Posts
    555
    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.

  3. #3
    Senior Member registered user
    Join Date
    May 2003
    Location
    Utrecht, The Netherlands
    Posts
    298
    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.

  4. #4
    Senior Member registered user
    Join Date
    May 2003
    Location
    Utrecht, The Netherlands
    Posts
    298
    (the first command replies: xargs: unmatched single quote)

  5. #5
    Senior Member registered user
    Join Date
    Mar 2003
    Posts
    555
    Quote 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)

  6. #6
    Senior Member registered user
    Join Date
    May 2003
    Location
    Utrecht, The Netherlands
    Posts
    298
    aaah, tnx, I'm trying it now...

  7. #7
    Senior Member registered user
    Join Date
    May 2003
    Location
    Utrecht, The Netherlands
    Posts
    298
    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!

  8. #8
    Senior Member registered user
    Join Date
    Mar 2003
    Posts
    555
    Quote Originally Posted by Superstoned
    looks like the directory's (and long filenames) are the problem?!?
    Indeed embedded spaces seem to interfere; try
    Code:
    id3v2 -d \"$file\"
    Cheers,

    bald.

  9. #9
    Senior Member registered user
    Join Date
    Nov 2002
    Location
    USA, IL
    Posts
    1,041
    --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
    Quote 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!

  10. #10
    Senior Member registered user
    Join Date
    May 2003
    Location
    Utrecht, The Netherlands
    Posts
    298
    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
    (...)

Page 1 of 2 12 LastLast

Similar Threads

  1. Rar Files in Ark
    By sunpascal in forum The Lounge
    Replies: 5
    Last Post: 01-13-2010, 07:06 AM
  2. what to do with .bin files?
    By jehan60188 in forum MS Windows & New to Linux
    Replies: 2
    Last Post: 01-23-2005, 11:57 AM
  3. iso files
    By pc3 in forum General Support
    Replies: 3
    Last Post: 06-27-2004, 01:18 PM
  4. Writing to / and subdirs.
    By bikerman in forum General Support
    Replies: 1
    Last Post: 04-15-2004, 12:22 AM
  5. *.run files
    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
  •  


GIGABYTE A520M DS3H AC AMD AM4 Motherboard mATX picture

GIGABYTE A520M DS3H AC AMD AM4 Motherboard mATX

$59.99



CR2032 Laptop CMOS RTC Battery BIOS picture

CR2032 Laptop CMOS RTC Battery BIOS

$3.55



GIGABYTE Z890M AORUS ELITE WIFI7 ICE INTEL MOTHERBOARD picture

GIGABYTE Z890M AORUS ELITE WIFI7 ICE INTEL MOTHERBOARD

$149.99



ASUS PRIME Z490-P LGA 1200 Intel Z490 SATA 6Gb/s ATX Intel Motherboard NEW picture

ASUS PRIME Z490-P LGA 1200 Intel Z490 SATA 6Gb/s ATX Intel Motherboard NEW

$121.45



GIGABYTE B365 HD3 LGA1151 Intel 9th Gen motherboard picture

GIGABYTE B365 HD3 LGA1151 Intel 9th Gen motherboard

$59.99



ASUS PRIME Z370-A II LGA 1151 Intel Z370 DDR4 DIMM USB3.1 DVI  ATX RGB picture

ASUS PRIME Z370-A II LGA 1151 Intel Z370 DDR4 DIMM USB3.1 DVI ATX RGB

$69.99



ASUS H110I-PLUS Motherboard LGA1151 w/ I5-7400 CPU, 8GB, Heatsink & I/O Shield picture

ASUS H110I-PLUS Motherboard LGA1151 w/ I5-7400 CPU, 8GB, Heatsink & I/O Shield

$60.00



ASRock B550M Phantom Gaming 4 AM4 AMD B550 SATA 6Gb/s Micro ATX AMD Motherboard picture

ASRock B550M Phantom Gaming 4 AM4 AMD B550 SATA 6Gb/s Micro ATX AMD Motherboard

$101.99



MSI MEG X570 UNIFY Socket AM4, AMD Motherboard picture

MSI MEG X570 UNIFY Socket AM4, AMD Motherboard

$400.00



ASUS PRIME H410M-K LGA 1200 Intel 10th Gen H410 DDR4 USB3.2 Motherboard M-ATX picture

ASUS PRIME H410M-K LGA 1200 Intel 10th Gen H410 DDR4 USB3.2 Motherboard M-ATX

$59.99