I have a directory "images" with nested structure, and there are .png files somewhere in it.
I also have a plain directory "svg" with a bunch of .svg files in it.
I need to move each .svg file into the same dir where lies the .png file with the same name.
this command for a single given .svg file works:
find /images -name 'sample.png' | grep -v thumb | xargs -i{} dirname {}|xargs -0 -I {} mv /svg/sample.svg {}
grep -v thumb is applied because for each .png file there is the thumbnail file with the same name in other subdir named "thumb".
I tried to write this command for all the files:
find /svg/ -name "*.svg" -exec basename {} '.svg' \; | xargs -O -I {} "find /images/ -name {}"
but i recieve and error: `basename' terminated by signal 13
Moreover, if this second command works, the next step is to combine it with the first command, but here is another problem: how can i send given filename to the final command "mv" (see {???} in a code)?
find /svg/ -name "*.svg" -exec basename {} '.svg' \; | xargs -O -I {} "find /images/ -name {}" | grep -v thumb | xargs -i{} dirname {}|xargs -0 -I {} mv /svg/{???} {}