2019-06-19 01:57:09 +00:00
|
|
|
#!/usr/bin/env sh
|
|
|
|
|
|
|
|
# Description: Create and verify md5 checksums
|
|
|
|
#
|
|
|
|
# If selection is used: it will generate one md5 file containing the checksums and file names
|
|
|
|
# [with paths if they are in another directory]
|
|
|
|
# If file is used: if the file is .md5 file, then it does the check
|
|
|
|
# if the file is not .md5 file, it creates the md5 file from it
|
|
|
|
#
|
|
|
|
# Shell: POSIX compliant
|
|
|
|
# Author: ath3
|
|
|
|
|
|
|
|
selection=~/.config/nnn/.selection
|
|
|
|
resp=f
|
|
|
|
|
|
|
|
if [ -s "$selection" ]; then
|
|
|
|
echo -n "work with selection (s) or current file (f) [default=f]: "
|
|
|
|
read resp
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$resp" = "s" ]; then
|
2019-06-19 11:40:31 +00:00
|
|
|
file=$(basename "$(cat $selection | tr '\0' '\n' | head -n 1)").md5
|
2019-06-19 01:57:09 +00:00
|
|
|
cat "$selection" | sed 's|'"$PWD/"'||g' | xargs -0 -i md5sum {} > "$file"
|
|
|
|
else
|
|
|
|
if ! [ -z "$1" ] && [ -f "$1" ]; then
|
|
|
|
if [ $(echo $1 | grep \.md5$) ]; then
|
|
|
|
cat "$1" | md5sum -c
|
|
|
|
read
|
|
|
|
else
|
|
|
|
file=$(basename "$1").md5
|
|
|
|
md5sum "$1" > "$file"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|