On Fri, Oct 19, 2018 at 10:48:42AM -0500, David Wright wrote: > find . -type f -exec chmod a-wx {} \;
For this one, you probably want to replace \; with + to get the efficiency boost, which would be pretty significant here. You probably wrote this one a long time ago. > find . -type f | while read file ; do bash-function "$file"; done # avoid > using exec This one has a few minor bugs. It will fail on filenames that contain newlines, or backslashes, or trailing whitespace, or leading whitespace. It can be corrected, although sadly the corrected version is a bit uglier. find . -type f -print0 | while IFS= read -rd '' file; do bash-function "$file"; done > find . -type f -name \*ly -printf '%TY-%Tm-%Td %TT %f\n' | cut --complement > -b 20-30 | sort This one looks like a variant of my "rlart" function: rlart() { find "${1:-.}" -type f -printf '%T@,%TY-%Tm-%Td,%TT,%p\0' | sort -zn | while IFS=, read -rd '' _ day time path; do printf '%s %s %s\n' "$day" "${time%.*}" "$path" done } I give a detailed explanation of an earlier iteration of that one on <https://mywiki.wooledge.org/BashProgramming/03> for those who are interested in that sort of thing. The explicit comma delimiters were added more recently, to avoid losing trailing whitespace.