sdir="$(pwd)" #fndar=($(IFS=$'\n'; find "$sdir" -type f -printf '%P|%TY-%Tm-%Td %TI:%TM|%s\n' | sort --version-sort --reverse)) #fndar=($(IFS='\n'; find "$sdir" -type f -printf '%P|%TY-%Tm-%Td %TI:%TM|%s\n' | sort --version-sort --reverse)) fndar=($(find "$sdir" -type f -printf '%P|%TY-%Tm-%Td %TI:%TM|%s\n' | sort --version-sort --reverse)) fndarl=${#fndar[@]} echo "// __ \$fndarl: |${fndarl}|${fndar[0]}"
the array construct ($( ... )) is using the space (between the date and the time) also to split array elements, but file names and paths may contain spaces, so ($( ... )) should have a way to reset its parsing metadata, or, do you know of any other way to get each whole -printf ... line out of find as part of array elements? lbrtchx