|
- #!/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
- arr=$(cat $selection | tr '\0' '\n')
- { read -r file; } <<< "$arr"
- file=$(basename "$file").md5
- 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
|