[SGVLUG] bash "for" with spaces
Christopher Smith
x at xman.org
Mon Apr 19 21:55:47 PDT 2010
-exec is very flexible. Where possible use the -exec {} + syntax to minimize forking (at which point you are very close to what you get with xargs).
--Chris
On Apr 19, 2010, at 9:45 PM, "Matt Campbell" <dvdmatt at gmail.com> wrote:
> There is a nice argument to find that I use all the time...
>
> find /media -name '*.gif' -exec makeThumb \{\} \;
>
> another example:
>
> find . -type f -exec mv \{\} \{\}.bk \;
>
> Matt
>
>> -----Original Message-----
>> From: sgvlug-bounces at sgvlug.net [mailto:sgvlug-bounces at sgvlug.net] On
>> Behalf Of Christopher Smith
>> Sent: Monday, April 19, 2010 9:34 PM
>> To: SGVLUG Discussion List.
>> Cc: SGVLUG Discussion List.
>> Subject: Re: [SGVLUG] bash "for" with spaces
>>
>> That's the point where I want to think about engaging perl, but that
>> said, in the particular case I'd do:
>>
>> find . -type f -maxdepth 1 -print0 | grep -z -Z -l bar | xargs -0 foo
>>
>> --Chris
>>
>> On Apr 19, 2010, at 9:16 PM, "John E. Kreznar" <jek at ininx.com> wrote:
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>>>> foo "$f"
>>>
>>>> Where possible (and it is most often possible), the "find -print0 |
>>>> xargs -0" idiom works well too.
>>>
>>> Very nice. Thanks! The cases where things seem to get baroque may
>> be
>>> when the list is the result of a computation. Example:
>>>
>>> for f in $(grep -l bar *) ; do foo $f ; done
>>>
>>> where again, file names may contain blanks. As I recall, I've been
>>> driven to fiddling with the IFS shell parameter. Very messy.
>>>
>>> - --
>>> John E. Kreznar jek at ininx.com 9F1148454619A5F08550
>> 705961A47CC541AFEF13
>>>
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.4.10 (GNU/Linux)
>>> Comment: Processed by Mailcrypt 3.5.8+
>> <http://mailcrypt.sourceforge.net/>
>>>
>>> iEYEARECAAYFAkvNKkkACgkQYaR8xUGv7xPt7wCePawIUHq+HwlDgezTA6z+p9Ou
>>> gpcAn0qITqGRcZdhrOD8gL5teNJoEwv3
>>> =6X47
>>> -----END PGP SIGNATURE-----
>>>
>
More information about the SGVLUG
mailing list