Sponsored Content
Top Forums Shell Programming and Scripting help using find/xargs to apply mp3gain to files Post 302603340 by audiophile on Wednesday 29th of February 2012 06:36:19 PM
Old 02-29-2012
help using find/xargs to apply mp3gain to files

I need to apply mp3gain (album mode) to all mp3 files in a given directory. Each album is in its own directory under /media/data/music/albums for example:

Code:
/media/data/music/albums/foo
/media/data/music/albums/bar
/media/data/music/albums/more

What needs to happen is:
Code:
cd /media/data/music/albums/foo && mp3gain -a -k -p *.mp3
cd /media/data/music/albums/bar && mp3gain -a -k -p *.mp3
cd /media/data/music/albums/more && mp3gain -a -k -p *.mp3

I want to use find and xargs to do this but am unsure how to craft the right syntax. I have used the this construct to accomplish tasks like this before, but this won't do both the cd into the dir and then run the mp3gain command.

Code:
find /media/data/music/album -type d -print0 | xargs -0 cd {} && mp3gain -a -k -p *.mp3

Thanks!
 

10 More Discussions You Might Find Interesting

1. Linux

How to find and apply patches in RHAT linux?

Hi: This is an elementary qs. Thanks in advance, (4 Replies)
Discussion started by: bbose
4 Replies

2. Shell Programming and Scripting

Script to find/apply Solaris 10 ACL's

This may be a question for a different forum, but as I will need a script I thought I would start here. We recently migrated from Solaris 8 to Solaris 10. The file system in question here is ZFS, meaning the method for listing and applying ACL's has changed dramatically. To make a long story... (3 Replies)
Discussion started by: Shoeless_Mike
3 Replies

3. UNIX for Dummies Questions & Answers

XARGS and FIND together

I am trying to delete files older than 60 days from a folder: find /myfolder/*.dat -mtime +60 -exec rm {} \; ERROR - argument list too long: find I can't just give the folder name, as there are some files that I don't want to delete. So i need to give with the pattern (*.dat). I can... (3 Replies)
Discussion started by: risshanth
3 Replies

4. Shell Programming and Scripting

find with xargs to rm found files

I believe what is happening is rm is executing in the script on every directory and on failure of the first it stops although returns status 0. find $HOME -name /directory/filename | xargs -l rm This is the code I use but file remains. I am using sun solaris system which has way limited... (4 Replies)
Discussion started by: Ebodee
4 Replies

5. Shell Programming and Scripting

find and xargs

hi, i've been trying to figure this weird error but I cannot seem to know why. I am using below find command: find . \( ! -name . -prune \) -type f -mtime +365 -print The above code returns no file because no files are really more then 365 days old. However, when I use xargs, its... (9 Replies)
Discussion started by: The One
9 Replies

6. Shell Programming and Scripting

Apply 'awk' to all files in a directory or individual files from a command line

Hi All, I am using the awk command to replace ',' by '\t' (tabs) in a csv file. I would like to apply this to all .csv files in a directory and create .txt files with the tabs. How would I do this in a script? I have the following script called "csvtabs": awk 'BEGIN { FS... (4 Replies)
Discussion started by: ScKaSx
4 Replies

7. Shell Programming and Scripting

Xargs + Find Help

Guys i want to run a command to list all directories that havn't been modified in over 548 days ( 1.5 yrs ). Id like to run a script to first print what the command finds ( so i get a list of the files pre move ... i have a script set for this : find /Path/Of\ Target/Directory/ -type d -mtime... (4 Replies)
Discussion started by: modulartention
4 Replies

8. UNIX for Dummies Questions & Answers

find/xargs/*grep: find multi-line empty "try-catch" blocks - eg, missing ; not in a commented block

How can I recursively find all files in a directory and print out the file and first line number of any text blocks that match the below cases? This would seem to involve find, xargs, *grep, regex, etc. In summary, I want to find so-called empty "try-catch blocks" that do not contain code... (0 Replies)
Discussion started by: lifechamp
0 Replies

9. Shell Programming and Scripting

Help with find, xargs and awk

Hi, I want to find some files and then search for some lines in it with a particular pattern and then write those lines into a file. To do this I am using something like this from command prompt directly. cd /mdat/BVG find -name "stmt.*cl" -newer temp.txt | xargs -i awk '/BVG-/{print}' {} >... (7 Replies)
Discussion started by: Sandhya Harsh
7 Replies

10. Shell Programming and Scripting

Fast processing(mv command) of 1 million+ files using find, mv and xargs

Hi, I'd like to ask if anybody can help improve my code to move 1 million+ files from a directory to another: find /source/dir -name file* -type f | xargs -I '{}' mv {} /destination/dir I learned this line of code from this forum as well and it works fine. However, file movement is kinda... (6 Replies)
Discussion started by: agentgrecko
6 Replies
tagmp3(1)							    User manual 							 tagmp3(1)

NAME
tagmp3 - manipulate ID3v1 tags SYNOPSIS
tagmp3 [ -n ] mode [ format ] [ file ] ... DESCRIPTION
tagmp3 allows you to set and remove ID3v1 tags from mp3 files. Additionaly move mode can be used to move mp3 files according to their ID3v1 tag. An ID3v1 tag is a chunk of extra informations such as artist name, album and genre. ID3v1 tags are displayed by most mp3 players. MODE
show show file's ID3v1 tag. set sets file's ID3v1 tag according to format. move move file to a destination based on FORMAT. del remove file's ID3v1 tag if any. list displays numeric music genres along with their meaning. -h print a (not so) short help message. -v print version and exit. OPTIONS
-n Show what will be done, don't alter any file. FORMAT STRING
The format string is a character string composed of zero or more directives: ordinary characters (not %), which are not interpreted and conversion specifications, each of which results in the corresponding ID3v1 tag field substitution. Each conversion specification is introduced by the character %. The following lines describes each conversion specification along with its associated ID3v1 field. Special sequence %% is substituted with a single %. %A Artist Name %a Album Name %t Song Title %T Track Number %y Year %g Genre %c Comments format string for set mode For set mode the format string is a list of ID3v1 fields followed by a ':' (next chars are the field value) or a '?' (ask user for field value) example: tagmp3 set "%A:Pink Floyd %a:The Wall %t? %T?" *.mp3 For each mp3 of this directory, sets the artist name to Pink Floyd and the album to The Wall. For each file ask for the title and the track number. Leave the other fields untouched. Be aware that genre field require a numeric value. Known genres can be dis- played with the list mode. format string for move mode The format string is the destination path where each field identifier is substituted with the tag value. example: tagmp3 move "/home/foo/mp3/%A/%a/%T-%t.mp3" *.mp3 with the set example above will move all mp3 to "/home/foo/mp3/Pink Floyd/The Wall/{track}-{title}.mp3" If you prefer the "flat" naming scheme, you will use something like tagmp3 move "%A-%t.mp3" *.mp3 NOTES
move mode never overwrite files. move mode creates intermediate directories specified in the format string. Each directory creation is to be confirmed by the user. ID3v2 tags are not supported so far. If a file can't be moved ( wrong file type, ID3v1 tag absent or blank field , ...) then it is left untouched. Fake mp3 (i.e. Wave file with .mp3 extension) are moved into "fake-mp3/" directory in move mode. set mode refuses to tag them since this would add noisy artifact at the end of the song. BUGS
Plenty of :) For move mode, source and destination must reside on the same file system / partition. AUTHOR
Laurent Alacoque <laureck@users.sourceforge.net> CopyLeft 2001 Bugs, patch, infos, new releases, girls, money go to : http://mpgtx.sourceforge.net/ Linux APRIL 2001 tagmp3(1)
All times are GMT -4. The time now is 02:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy