Shell:将多个结果(md5sum)聚合到一个文件中

Shell:将多个结果(md5sum)聚合到一个文件中

这是我的 shell 脚本片段:

for f in $ENV_LOCATION/*.env
do
  basename=$(echo ${f##*/} | cut -f 1 -d '.')  #Extract base filename from a fullpath. Example: '/etc/secrets/t-secret.env' -> 't-secret'
  sort $f | md5sum > $temp/$basename.md5
done

正如您所看到的,我正在为每个文件创建一个新*.md5文件到$temp文件夹中$ENV_LOCATION/*.env

我想将所有这些内容文件聚合到一个文件中。

有任何想法吗?

答案1

移动重定向应该可以解决问题:

for f in $ENV_LOCATION/*.env
do
  basename=$(echo ${f##*/} | cut -f 1 -d '.')  #Extract base filename from a fullpath. Example: '/etc/secrets/t-secret.env' -> 't-secret'
  sort $f | md5sum
done > $temp/aggregate.md5

为了保留basename输出,这里有一个更有用的版本:

for f in $ENV_LOCATION/*.env
do
  basename $f .env
  sort $f | md5sum
done > $temp/aggregate.md5

相关内容