셸: 여러 결과(md5sum)를 하나의 파일로 집계합니다.

셸: 여러 결과(md5sum)를 하나의 파일로 집계합니다.

이것은 내 쉘 스크립트 조각입니다.

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

관련 정보