Date: Sat, 2 Nov 2019 13:45:05 +0700 From: Victor Sudakov <vas@sibptus.ru> To: freebsd-questions@freebsd.org Subject: Re: grep for ascii nul Message-ID: <20191102064505.GA98558@admin.sibptus.ru> In-Reply-To: <63808.1572638827@segfault.tristatelogic.com> References: <20191101092716.GA67658@admin.sibptus.ru> <63808.1572638827@segfault.tristatelogic.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--/04w6evG8XlLl3ft Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Ronald F. Guilmette wrote: > In message <20191101092716.GA67658@admin.sibptus.ru>,=20 > Victor Sudakov <vas@sibptus.ru> wrote: >=20 > >I need to find files containing ascii null inside, and print their names= to > > stdout. >=20 > Unfortunately, you're banging up against a long-standing a rather > annoying non-feature of fgrep/grep/egrep, which is that unlike the > tr command, the grep family of commands does not support the \DDD > notation for specifying arbitrary byte values. Thus, you cannot use > then to search for arbitrary byte values. >=20 > I would thus suggest that you solve your problem using a Perl or C > program. =20 Perl is not in the base system, so that is not quite the answer.=20 I'm a big fan of awk, awk is in the base system and should be able to do it, right? $ hd trees.txt=20 00000000 66 69 72 0a 6f 61 6b 0a 63 65 64 00 61 72 0a 62 |fir.oak.ced.ar= =2Eb| 00000010 69 72 63 68 0a 70 61 6c 6d 0a |irch.palm.| 0000001a $=20 Note the ascii null embedded in the word "cedar" $ awk '/\x66\x69/{print $0}' trees.txt fir So far so good. But with the ascii nul it behaves in an unexpected way: $ awk '/\x00/{print $0}' trees.txt fir oak ced birch palm $=20 --=20 Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/ --/04w6evG8XlLl3ft Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJdvSXxAAoJEA2k8lmbXsY0qWwH/RkTNDcpCPx62KmkBx99CG6V NiohEjWgP0ZNpna6EKwHLKhO6ZV+zi9rBJbTS9u/Rwx8oH9NQnCVbhhHV9s5bzjq hnwajl7WeAp6b2KpfG1kMoVS68vUUJ/sSIa5VFmVX/gBu+6e+RqRHsM21IoW/UJA hqgr5sPCL/9nYo7EeMi0UkZxsnkYQXGcvsSCGk6Cabk15eA669A1qdqzlz/LBBdp oJdAHOFrlKaO1xrHaUFRJlCIUmbe8ObhY1UY0hPFCRThlExvVOl2L4A6ei/Nfatj DXW9sVLHuMR922CbIE1pzeQQt7d1iJKZbqzOCFrRA21Ko7EdLV6+eGEgrSP3AHA= =afP5 -----END PGP SIGNATURE----- --/04w6evG8XlLl3ft--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20191102064505.GA98558>