|
|
|
@ -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 |
|
|
|
|