Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jun 2014 23:03:16 +0200
From:      Polytropon <freebsd@edvax.de>
To:        Gary Kline <kline@thought.org>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: long string using find and "-exec ls -ls" to find part-of filename
Message-ID:  <20140630230316.44ec3257.freebsd@edvax.de>
In-Reply-To: <20140630064044.GA25085@ethic.thought.org>
References:  <20140630045605.GA11147@ethic.thought.org> <53B0EFF2.80205@calorieking.com> <CA%2Bg%2BBvg1=o71ObOpbh4ry-=unj2HOjjmcQHX1DOeAfwyhLu=QQ@mail.gmail.com> <20140630053004.GB16901@ethic.thought.org> <CA%2Bg%2BBvh%2BDk0iYCjbGKVt59-nfDoCFQ6qmArrJu7ueaT7VzDi1g@mail.gmail.com> <20140630064044.GA25085@ethic.thought.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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, ...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140630230316.44ec3257.freebsd>