From f32e7b9242760cf864e378f35e26bc408f826314 Mon Sep 17 00:00:00 2001 From: Mike Holloway Date: Sat, 26 Mar 2022 18:16:38 -0400 Subject: [PATCH] On branch rewrite-2022-03-26 Changes to be committed: modified: hash-files Removing functions, refactoring, testing --- hash-files | 87 ++++++++++++++++-------------------------------------- 1 file changed, 25 insertions(+), 62 deletions(-) diff --git a/hash-files b/hash-files index ca0142b..91afc80 100755 --- a/hash-files +++ b/hash-files @@ -22,55 +22,28 @@ write_log () { printf '%s hash-files: %s\n' "$DateTimeStamp" "$1" >> $log_file } -create_list_of_files () { -#echo "=== Get list of files in $Working_Directory. === -#==================================================" - for file in $(find $Working_Fullpath -maxdepth 1 -type f); do - list_of_files+=( $file ) - done - write_log "List of files created successfully." -} -mdls_files () { - for file in $list_of_files; do - for line in $(mdls $file); do - old_IFS=$IFS - unset IFS - mdls_key=$(printf "%s" $line | cut -d '=' -f 1) - mdls_value=$(printf "%s" $line | cut -d '=' -f 2) - if [[ " ${keys_of_interest[*]} " =~ " ${mdls_key} " ]];then - IFS=$old_IFS - : #printf "\n============================\nMDLS Key: %s\nMDLS Value: %s\n============================\n\n" $mdls_key $mdls_value - unset IFS - else - : #echo "Did not print!" - fi - IFS=$old_IFS - done +mdls_per_file () { + file=$1 + for line in $(mdls $file); do + old_IFS=$IFS + unset IFS + mdls_key=$(printf "%s" $line | cut -d '=' -f 1) + mdls_value=$(printf "%s" $line | cut -d '=' -f 2) + if [[ " ${keys_of_interest[*]} " =~ " ${mdls_key} " ]];then + IFS=$old_IFS + : #printf "\n============================\nMDLS Key: %s\nMDLS Value: %s\n============================\n\n" $mdls_key $mdls_value + unset IFS + else + : #echo "Did not print!" + fi + IFS=$old_IFS done } -hash_files () { -#echo "=== Hash files. === -#======================" - for file in ${list_of_files[@]}; do - hash=$($md5_bin $file | awk '{ print $1 }') - list_of_hashes+=( $hash ) - done - write_log "Files hashed successfully." -} -#create_csv () { -#echo "=== Create array of comma-separated-values. === -#==================================================" -# for i in ${!list_of_files[@]}; do -# csv_array+=( ${list_of_files[i]},${list_of_hashes[i]} ) -# done -# export csv_array -# write_log "CSV Array creation successful." -#} -write_data () { +write_per_file () { #echo "=== Write data to a .csv file. === #====================================" ## Create temp file @@ -82,13 +55,9 @@ write_data () { csv_columns+=( ${keys_of_interest[key]} ) done ## Print columns to first line of csv - IFS=',';echo "${csv_columns[*]}";IFS=$'\n' >> $temp_csv_file - ## Print csv array rows following columns row - for row in ${csv_array[@]};do - printf '%s\n' $row - done >> $temp_csv_file + IFS=',';echo "${csv_columns[*]}";IFS=$'\n' # cat $temp_csv_file - write_log "$temp_csv_file written successfully." +# write_log "$temp_csv_file written successfully." } cleanup () { @@ -101,18 +70,12 @@ cleanup () { trap cleanup EXIT echo "Main Start" -create_list_of_files -mdls_files -hash_files -if [ ${#list_of_files[@]} != ${#list_of_hashes[@]} ];then - echo "Error! Number of files and hashes differs. Exiting..." && exit -else - : #create_csv -fi -#write_data - -#while $list_of_files >=1; do -#done - +#echo "=== Get list of files in $Working_Directory. === +#==================================================" +for file in $(find $Working_Fullpath -maxdepth 1 -type f); do + hash=$($md5_bin $file | awk '{ print $1 }') + mdls_properties=$(mdls_per_file $file) + write_per_file $file $hash $mdls_properties +done unset IFS