URL: <http://savannah.gnu.org/bugs/?33459>
Summary: Find -exec not working correctly with binary matching Project: findutils Submitted by: None Submitted on: Wed 01 Jun 2011 11:21:05 PM UTC Category: None Severity: 3 - Normal Item Group: None Status: None Privacy: Public Assigned to: None Originator Name: Bjorn d. Originator Email: b...@delacour.us Open/Closed: Open Discussion Lock: Any Release: 4.4.2 Fixed Release: None _______________________________________________________ Details: find . -name test1 -or -name test2 -exec echo {} \; and find . -name test1 -or -name test2 -print should produce output equal to find . -name test1 -or -name test2 but the first 2 commands give the following output ./test2 the last command outputs properly with ./test1 ./test2 However find -name "test*" -a -name "*[1-2]" -print produces correct output but find -name "test*" -a -name "*[1-2]" -exec echo {} \; produces an extra /n before giving the correct output which just find -name "test[1-2]" --exec echo {} \; doesn't produce. Maybe a separate bug. I am using Ubuntu and "find --version" gives the following find (GNU findutils) 4.4.2 ... Built using GNU gnulib version e5573b1bad88bfabcda181b9e0125fb0c52b7d3b Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS() CBO(level=0) Bash Code to reproduce, it should produce the same output for all the find commands without an blanklines: touch test1 test2 find . -name test1 -or -name test2 -exec echo {} \; find . -name test1 -or -name test2 -print find -name "test*" -a -name "*[1-2]" -exec echo {} \; find . -name test1 -or -name test2 _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?33459> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/