diff --git a/hash-files b/hash-files index 433fdf6..895f314 100755 --- a/hash-files +++ b/hash-files @@ -13,8 +13,8 @@ echo " ++ Write to log. } create_list_of_files () { -echo "=== Get list of files in $Working_Directory. === -==================================================" +#echo "=== Get list of files in $Working_Directory. === +#==================================================" IFS=$'\n' for file in $(find $Working_Fullpath -maxdepth 1 -type f); do list_of_files+=( $file ) @@ -23,8 +23,8 @@ unset IFS } hash_files () { -echo "=== Hash files. === -======================" +#echo "=== Hash files. === +#======================" IFS=$'\n' for file in ${list_of_files[@]}; do hash=$(md5sum $file | awk '{ print $1 }') @@ -34,13 +34,23 @@ unset IFS } create_csv () { -echo "=== Create array of comma-separated-values. === -==================================================" +#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_data () { -echo "=== Write data to a .csv file. === -====================================" +#echo "=== Write data to a .csv file. === +#====================================" + temp_csv_file=$(mktemp) + printf '%s,%s\n' "File Path" "File Hash" >> $temp_csv_file + for line in ${csv_array[@]};do + printf '%s\n' $line + done >> $temp_csv_file +# cat $temp_csv_file } cleanup () { @@ -56,18 +66,13 @@ echo "Main Start" create_list_of_files write_log hash_files +write_log if [ ${#list_of_files[@]} != ${#list_of_hashes[@]} ];then echo "Error! Number of files and hashes differs. Exiting..." && exit else - for i in ${!list_of_files[@]}; do - echo "/==============================/ - File: ${list_of_files[i]} - Hash: ${list_of_hashes[i]}" - done + create_csv fi write_log -create_csv -write_log write_data write_log cleanup