finded (fslint-2.44) | : | finded (fslint-2.46) | ||
---|---|---|---|---|
skipping to change at line 73 | skipping to change at line 73 | |||
( | ( | |||
#get all dirs | #get all dirs | |||
find "$@" -type d ! -name "*$LF*" -printf "$FPF\n" | | find "$@" -type d ! -name "*$LF*" -printf "$FPF\n" | | |||
sort -u #merge dirs (indirectly) specified multiple times | sort -u #merge dirs (indirectly) specified multiple times | |||
#get all dirs containing files. | #get all dirs containing files. | |||
#Note / not included for absolute dirs, but we assume / has files | #Note / not included for absolute dirs, but we assume / has files | |||
find "$@" ! -type d ! -name "*$LF*" -printf "%h\n" | | find "$@" ! -type d ! -name "*$LF*" -printf "%h\n" | | |||
uniq | #quick merge of dir names for each file | uniq | #quick merge of dir names for each file | |||
sed -n ':s; p; s#/\{0,\}[^/]\{1,\}$##; /./b s' #separate dir nodes | sed -n ':s; p;p; s#/\{0,\}[^/]\{1,\}$##; /./b s' #separate dir nodes | |||
#Ensure we exclude parents to specified absolute dirs | #Ensure we exclude parents to specified absolute dirs | |||
find "$@" -maxdepth 0 ! -name "*$LF*" -printf "%h\n%h\n" | | find "$@" -maxdepth 0 ! -name "*$LF*" -printf "%h\n%h\n" | | |||
sed '/^\//!d' | #only process absolute dirs | sed '/^\//!d' | #only process absolute dirs | |||
sed -n ':s; p; s#/\{0,\}[^/]\{1,\}$##; /./b s' #separate dir nodes | sed -n ':s; p;p; s#/\{0,\}[^/]\{1,\}$##; /./b s' #separate dir nodes | |||
) | | ) | | |||
#get dirs only containing dirs, or nothing at all | #get dirs only containing dirs, or nothing at all | |||
sort | uniq -u | | sort | uniq -u | | |||
#reduce to parent (prefixes) | #reduce to parent (prefixes) | |||
sed 'p; :s $!N; s/^\(.*\)\n\1\/.*/\1/; t s; D' | | sed 'p; :s $!N; s/^\(.*\)\n\1\/.*/\1/; t s; D' | | |||
#make further processing immune to blanks | #make further processing immune to blanks | |||
tr '\n' '\0' | | tr '\n' '\0' | | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 3 lines changed or added |