Subj : Re: How to execute more than one command with find -exec? To : comp.os.linux From : noi Date : Thu Nov 18 2004 04:15 pm On Thu, 18 Nov 2004 17:35:30 +0800, Cheng Mo thoughtfully wrote: > The scenario is: > In folder XXX there are lots of *.gif files. Those *.gif files whose > filename don't appear in file abc.txt should be deleted. I want to do this > job in one line command. > find XXX -name "*.gif" -exec ........... \; But I don't know how to write > the part of .............. > > I tried > find XXX -name "*.gif" -exec grep {} abc.txt || rm {} \; But it seems > -exec don't take behind as a combination of two commands. Anybody can tell > me how to execute more than one command with find -exec? Thanks Seems complicated with find. Alternative? tar -zcf gif.tgz -T abc.txt && find XXX -iname "*.gif" -exec rm {}\; In your example, find XXX -iname "*.gif" | grep -v -f abc.txt | xargs rm .