我需要一种方法来快速查看单个文件和给定文件夹中所有文件的哈希值。拖放应该很好用,但在 lxqt 中,您无法拖放到脚本甚至桌面条目。
我有脚本打开终端并一次接收一个文件并打印其哈希值。我需要它能够识别文件夹并哈希其中的所有文件。问题是我不知道 bash。
#!/bin/bash
while IFS=$' \t\r\n' read -d '' -p "Drag'n'drop file to hash: " -rsn 1 str &&
[ "$str" ];do
while IFS= read -d '' -rsn 1 -t .02 char
do str+="$char"
done
if [ "$str" ] ;then
read -a req <<<"$str"
echo ''
md5sum $req
echo ''
fi
done
答案1
这可识别文件和文件夹,包括嵌套文件夹中的文件和带空格的路径。作为奖励,在终端名称中显示信息,而不是每次都打印它。
#!/bin/bash
echo -ne "\033]0;Drag & drop file or folder\007"
while IFS=$'\t\r\n' read -d '' -rsn 1 str && [ "$str" ]; do
while IFS= read -d '' -rsn 1 -t .02 char; do
str+="$char"
done
if [ "$str" ]; then
find "$str" -type f -exec md5sum {} \;
fi
done