long string using find and "-exec ls -ls" to find part-of filename
Polytropon
freebsd at edvax.de
Mon Jun 30 21:03:21 UTC 2014
On Sun, 29 Jun 2014 23:40:44 -0700, Gary Kline wrote:
> ANYWAY, the thing learned tonight is that it's *XARGS* <cmd>
> instead of -exec abcfubarCmd.
Allow me to add one little reminder:
When using xargs, usually _one_ program will be executed
with a command line containing _all_ results of the find
command. If you want to run a program on _each_ of the
results, this is the typical sh solution:
find ... | while read F; do
somecommand $F
done
Or maybe less elegant:
for F in `find ...`; do
somecommand $F
done
But keep in mind things get more complicated when the file
names contain valid, but "unpleasant" characters, such as
spaces. In this case, reading this can help:
David A. Wheeler:
Filenames and Pathnames in Shell: How to do it Correctly
http://www.dwheeler.com/essays/filenames-in-shell.html
David A. Wheeler:
Fixing Unix/Linux/POSIX Filenames:
Control Characters (such as Newline), Leading Dashes,
and Other Problems
http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html
But if you've been using "clean" file names, this shouldn't
be a big problem. ;-)
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list