[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: find question (and xargs)

> find / -size +459976c -noleaf -type f -name '*.deb'|\
> xargs -n 1 dpkg-split -s {} && rm {}
> I was thinking that {} would be replaced by the filename but that's
> not the case. Anyone know how to solve this?

Find only replaces "{}" with the filename under "-exec".  You have piped
the output of the implicit "-print" command into 'xargs'.  You must either
use xargs' substitution method:

find / -size +459976c -noleaf -type f -name '*.deb' |\
	xargs -n 1 -i{} dpkg-split -s {} && rm {}	# I think...

or change find:

find / -size +459976c -noleaf -type f -name '*.deb' \
	-exec dpkg-split -s {} && rm {} \;

                               ( bcwhite@verisim.com )

    In theory, theory and practice are the same.  In practice, they're not.

Reply to: