bugfindutils - Bugs: bug #50835, -print0 causes all files to be...

 
 

bug #50835: -print0 causes all files to be output

Submitted by:  George Gonzalez <ggonzalez>
Submitted on:  Thu 20 Apr 2017 03:40:47 PM UTC  
 
Category:  find Severity:  3 - Normal
Item Group:  None Status:  Duplicate
Privacy:  Public Assigned to:  None
Originator Name:  ggonzalez Open/Closed:  Closed
Release:  4.5.11 Fixed Release:  None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 20 Apr 2017 06:19:49 PM UTC, comment #1:

Your complaint is the same as in bug 50780. Quoting from my response there, with a tweak of -printf changed to -print0:

When two expressions are written as 'A B', find behaves if you had instead written 'A -a B'. The -a operator is short-circuiting: if expression A returns false, expression B is not attempted; but if expression A returns true, then expression B is used.

When you write -print0 first, it always executes (everything gets printed), then you filter out the files, but do nothing further with the files you filtered.

When you write -print0 second, it only executes on the files that got past the -type filter.

Eric Blake <ericb>
Project Administrator
Thu 20 Apr 2017 03:40:47 PM UTC, original submission:

We run these commands:
Here=/etc

find "$Here" -perm /u=x,g=x,o=x -type f >/tmp/allbins

find "$Here" -perm /u=x,g=x,o=x -type f -ls >/tmp/allbins-ls

find "$Here" -print0 -perm /u=x,g=x,o=x -type f >/tmp/allbins-z

wc -l /tmp/allbins

wc -l /tmp/allbins-ls

cat /tmp/allbins-z | tr '\0' '\n' | wc -l

The output is:

$ sudo bash t.sh
101 /tmp/allbins
101 /tmp/allbins-ls
3779

.... So it looks like there are 3779 files listed when we ask for -print0.
A quiick perusal using : cat /tmp/allbins-z | tr '\0' '\n' shows:

/etc
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/resolv.conf
/etc/fonts
/etc/fonts/conf.d
/etc/fonts/conf.d/65-0-lohit-tamil.conf
/etc/fonts/conf.d/59-liberation-mono.conf
/etc/fonts/conf.d/66-ucs-miscfixed.conf
/etc/fonts/conf.d/59-liberation-sans.conf

.. all of which are not type f or mode executable

This sure looks like a bug!

Regards,

George

George Gonzalez <ggonzalez>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by ericb (Posted a comment)
  • -email is unavailable- added by ggonzalez (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-04-20 ericb Item GroupWrong result => None
        StatusNone => Duplicate
        Open/ClosedOpen => Closed

    Back to the top


    Powered by Savane 3.3