4 ms·
Using the output of find into another program is not safe due to risk of file names containing delimiters. You need to use find -exec. Good example of why mach
by Too 3y ago
Using the output of find into another program is not safe due to risk of file names containing delimiters. You need to use find -exec.
Good example of why machine readable output is important. Agree that the tutorial should showcase more and larger such examples.
- rmwaite 3y agoYou can always use -print0. I suppose there is some risk of a null slipping into a filename but I’ve never come across it myself.
- gnosek 3y ago> some risk of a null slipping into a filename Only in some fairly esoteric environments: https://en.wikipedia.org/wiki/Filename#Comparison_of_filename_limitations https://en.wikipedia.org/wiki/Filename#Comparison_of_filenam...
- js2 3y agoYes, I know that, but it's also exceedingly rare for a filename to contain a newline and using -exec is extremely inefficient. I also wrote that on my iPad. Typically I'd use a combination of -print0 and xargs -0 for anything more formal than a one-liner on the command line. The larger bug in my example is that it fails if any of the directories in the path contain a "." in their name!
- eviks 3y ago[flagged]
- js2 3y agoIt's one example. I didn't realize the mistake when I wrote it. I wrote my comment in good faith. What's with the interrogation?
- queuebert 3y agoxargs also is good to use on big argument lists because it can parallelize the processing of arguments with the '-n' and '-P' flags.