From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 10 Apr 2013 22:04:18 +0400 From: "Dmitry V. Levin" To: ALT Linux Team development discussions Message-ID: <20130410180416.GC12567@altlinux.org> Mail-Followup-To: ALT Linux Team development discussions References: <20120519125305.AD1A02184A12@ssh.git.altlinux.org> <20130409062509.GB31314@altlinux.org> <20130409064243.GE31314@altlinux.org> <5163DBED.4050402@altlinux.org> <20130409095134.GB376@altlinux.org> <5163EB18.2060904@solin.spb.ru> <5163EE22.8080508@solin.spb.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="p2kqVDKq5asng8Dg" Content-Disposition: inline In-Reply-To: <5163EE22.8080508@solin.spb.ru> X-fingerprint: FE4C 93AB E19A 2E4C CB5D 3E4E 7CAB E6AC 9E35 361E Subject: Re: [devel] "find -exec +" vs "find | xargs" X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Apr 2013 18:04:18 -0000 Archived-At: List-Archive: List-Post: --p2kqVDKq5asng8Dg Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 09, 2013 at 02:32:02PM +0400, Aleksey Avdeev wrote: > 09.04.2013 14:19, Aleksey Avdeev =D0=C9=DB=C5=D4: > > 09.04.2013 13:51, Dmitry V. Levin =D0=C9=DB=C5=D4: > >> On Tue, Apr 09, 2013 at 01:14:21PM +0400, Paul Wolneykien wrote: > >>> 09.04.2013 10:42, Dmitry V. Levin =D0=C9=DB=C5=D4: > >>>> =F1 =D0=CF=D3=CD=CF=D4=D2=C5=CC =CC=CF=C7=C9 =D0=CF=D3=CC=C5=C4=CE= =C5=CA =D4=C5=D3=D4=CF=D7=CF=CA=20 > >>>> =D0=C5=D2=C5=D3=C2=CF=D2=CB=C9, =D4=C1=CD =C2=CF=CC=C5=C5 60 > >>>> =D0=C1=CB=C5=D4=CF=D7 python*-module-*, =D7 =CB=CF=D4=CF=D2=D9=C8 = =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 > >>>> for var in $(find > >>>> =C9 =DE=D4=CF-=D4=CF =CD=CE=C5 =D0=CF=C4=D3=CB=C1=DA=D9=D7=C1=C5=D4 = (=CE=C5 =C7=CC=D1=C4=D1 =D7=20 > >>>> =D3=D0=C5=CB=C9), =DE=D4=CF =D7=D3=C5 =DC=D4=CF =C2=D5=C4=C5=D4 > >>>> =C7=CF=D2=C1=DA=C4=CF =CC=D5=DE=DB=C5 =D2=C1=C2=CF=D4=C1=D4=D8 =D7 = =C6=CF=D2=CD=C5 > >>>> find -exec ... + > >>> > >>> =E1 =D0=CF=DE=C5=CD=D5 =D4=C1=CB? "for" =D6=C5 =D7=D3=D4=D2=CF=C5= =CE=CE=C1=D1=20 > >>> =CB=CF=CE=D3=D4=D2=D5=CB=C3=C9=D1, =C1 find -exec =CE=C1=D7=C5=D2= =CE=D1=CB=C1 =CE=C1 =CB=C1=D6=C4=D9=CA=20 > >>> exec =C6=CF=D2=CB=C1=C5=D4 =CF=D4=C4=C5=CC=D8=CE=D5=C0 =CF=C2=CF=CC= =CF=DE=CB=D5. > >> > >> =E5=D3=CC=C9 =D1 =D2=C1=D3=D3=CB=C1=D6=D5, =CB=C1=CB =C9=CD=C5=CE=CE= =CF =CF=CE=CF =D0=D2=CF=C9=D3=C8=CF=C4=C9=D4, =D7=D9 =D6=C5 =D7=D3=C5 =D2= =C1=D7=CE=CF =CE=C5 =D0=CF=D7=C5=D2=C9=D4=C5. > >> =E9 =D0=D2=C1=D7=C9=CC=D8=CE=CF =D3=C4=C5=CC=C1=C5=D4=C5, =DA=C1=DE=C5= =CD =D7=C5=D2=C9=D4=D8 =CE=C1 =D3=CC=CF=D7=CF, =CB=CF=C7=C4=C1 =CD=CF=D6=CE= =CF =D0=D2=CF=D7=C5=D2=C9=D4=D8 > >> =D3=CF=C2=D3=D4=D7=C5=CE=CE=CF=D2=D5=DE=CE=CF. =F3=D2=C1=D7=CE=C9=D4= =C5 > >> strace -feexecve -o '|grep -Fc execve' sh -c 'for f in $(find /usr/ -t= ype f -name "*.py"); do ls -- "$f"; done > /dev/null' > >> =C9 > >> strace -feexecve -o '|grep -Fc execve' sh -c 'find /usr/ -type f -name= "*.py" -exec ls -- {} + > /dev/null' > >> > >> =ED=CF=D6=C5=D4=C5 =C5=DD=C5 =C9 =D7=D2=C5=CD=D1 =D3=D2=C1=D7=CE=C9=D4= =D8: > >> time sh -c 'for f in $(find /usr/ -type f -name "*.py"); do ls -- "$f"= ; done > /dev/null' > >> =D0=D2=CF=D4=C9=D7 > >> time sh -c 'find /usr/ -type f -name "*.py" -exec ls -- {} + > /dev/nu= ll' > >=20 > > =E1 =CB=C1=CB =CE=C1 =DC=D4=CF=CD =C6=CF=CE=C5 =CB=CF=CE=D3=D4=D2=D5= =CB=C3=C9=C9 =D7=C9=C4=C1: > >=20 > > find ... | xargs ... > >=20 > > PS: =E9=CE=D4=C5=D2=C5=D3=D5=C5=D4 =DC=CB=D3=D0=C5=D2=D4=CE=C1=D1 =CF= =C3=C5=CE=CB=C1. >=20 > =F0=CF >=20 > strace -feexecve -o '|grep -Fc execve' sh -c 'find /usr/ -type f -name > "*.py"|xargs ls -- > /dev/null' >=20 > time sh -c 'find /usr/ -type f -name "*.py"|xargs ls -- > /dev/null' >=20 > =F5 =CD=C5=CE=D1 =D0=CF=CC=D5=DE=C9=CC=CF=D3=D8 =DE=D4=CF =D7=C1=D2=C9= =C1=CE=D4 "find ... | xargs ..." =C2=CC=C9=DA=CF=CB =CB > "find ... -exec ...", =CE=CF =CE=C5=CD=CE=CF=C7=CF =DA=C1=D4=D2=C1=D4=CE= =C5=C5. =EB=CF=CE=D3=D4=D2=D5=CB=C3=C9=D1 "find ... -exec ... +" =D0=CF=D1=D7=C9=CC= =C1=D3=D8 =D7 GNU findutils =D7=D3=C5=C7=CF 8 =CC=C5=D4 =CE=C1=DA=C1=C4, =D7 =CF=D4=CC=C9=DE=C9=C5 =CF=D4 "find ... | xargs ...", =CB=CF=D4=CF=D2=C1= =D1 =D4=C1=CD =D5=D6=C5, =D7=C9=C4=C9=CD=CF, =C2=CF=CC=C5=C5 22 =CC=C5=D4. =F5 xargs =C5=D3=D4=D8 =D0=C1=D2=C1=CD=C5=D4=D2=D9, =CB=CF=D4=CF=D2=D9=C5 = =D0=CF=DA=D7=CF=CC=D1=C0=D4 =D3=D4=D2=CF=C9=D4=D8 =D4=C1=CB=C9=C5 =CB=CF=CE= =D3=D4=D2=D5=CB=C3=C9=C9 "find | xargs", =C4=CC=D1 =CB=CF=D4=CF=D2=D9=C8 =CE=C5=D4 =D4=CF=DE=CE=CF= =C7=CF =DC=CB=D7=C9=D7=C1=CC=C5=CE=D4=C1 =D7 "find -exec". =EE=D5 =C9 =D7=CF=CF=C2=DD=C5, =D7 =D0=C1=CB=C5=D4=C5 findutils =C5=D3=D4= =D8 =D0=D2=C9=CC=C9=DE=CE=C1=D1 =C4=CF=CB=D5=CD=C5=CE=D4=C1=C3=C9=D1, =D3=CD. "info -f find". --=20 ldv --p2kqVDKq5asng8Dg Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEARECAAYFAlFlqZ8ACgkQfKvmrJ41Nh4F2ACggfDIM7ZJtrMe9xWW0L3xUuhy yzwAn0HST6LMRBETm+vd4g2StAqEs8SA =HD7+ -----END PGP SIGNATURE----- --p2kqVDKq5asng8Dg--