Hello! I think the problem here is that using `-a STR` is passing the entire string—including the query and the modification—as a single argument. So this looks to beets like just one query argument and no modifications.
So perhaps one solution would be to run your command in a shell. That is, use `sh -c` followed by the `beet` command, which will let the shell parse your quotes and spaces to pass two arguments to the underlying command. Good luck! Adrian > On May 4, 2018, at 1:25 AM, Wism <[email protected]> wrote: > > Hi there! > I'm trying to batch modify a dozen of albums with wrong original_year > (probably from discogs imports); I found out that the "modify" command > doesn't (yet?) accept templates, so I thought of a simple xargs command; but > I'm banging my head against it without any results. > > I built the arguments with a simple > > beet ls -a original_year:0000 -f'"album:$album" original_year=$year' > > that returns the correct list of arguments: > > "album:Ten Bulls" original_year=1998 > "album:Amarantine (Special Christmas Edition)" original_year=2006 > "album:Absolutely Free" original_year=1967 > "album:Freak Out!" original_year=1966 > "album:Uncle Meat" original_year=1968 > [...] > > but when I try to pass these lines to "beet modify" via xargs, something goes > wrong: > > beet ls -a original_year:0000 -f'"album:$album" original_year=$year' | xargs > -p -I STR -- beet modify -a STR > > this command echoes a commandline (for confirmation, with the -p xargs > argument) that seems to be perfect: > > beet modify -a "album:Ten Bulls" original_year=1998 ?... > > but when I confirm the execution, beets returns > > error: no modifications specified > > If I copy and paste the command to test the syntax, it's executed correctly. > What am I missing? > > For the sake of completeness, I have to use the xargs -I syntax because my > version of the command (docker contained) doesn't support the -d argument. > > Thank you! > -- > You received this message because you are subscribed to the Google Groups > "beets" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "beets" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
