우리 조직에는 사용자 파일 전용 네트워크 공유가 있습니다. 각 사용자는 자신만의 디렉터리를 가지고 있습니다. 공유 공간을 가장 많이 사용하는 사람이 누구인지 알아보려고 합니다. 내 현재 코드는 다음과 같습니다
#!/bin/bash
#Author= x
#Date= 04/28/23
#Desc= x
# Defining the directory
directory="/path/to/directory"
# Creating array to hold the file names
files=()
# Loop through each file in the directory
for file in "$directory"/*; do
# Add the file name to the array
files+=("$file")
done
# Use du to get the size of each file and sort the results by size
du -sh "${files[@]}" | sort -h > output.txt
스크립트를 실행할 때 "du: '$file'에 액세스할 수 없습니다. 해당 파일이나 디렉터리가 없습니다."라는 메시지가 나타납니다. 저는 스크립팅을 처음 접했고 이 문제가 변수를 정의하는 방법과 관련되어 있지만 무엇을 변경해야 할지 잘 모르겠습니다. .
답변1
당신은 일을 지나치게 복잡하게 만들고 있습니다. Giles가 의견에서 지적했듯이:
du -sh /path/to/directory/* | sort -h