10KB보다 큰 모든 파일을 찾아 다른 디렉터리로 이동해야 하는 다음 코드가 있습니다.
read mam
find "$mam" -type f -size +10k > size.txt
while read line
do
mv "$line" /home/patakinorbert/Desktop/prk1
done < size.txt
답변1
쉘 스크립트가 필요하지 않습니다. 단일 find
명령으로 파일을 검색하고 이동합니다.
read -r mam
find "$mam" -type f -size +10k -exec mv {} /home/patakinorbert/Desktop/prk1 \;
-exec
과 사이의 단어는 \;
발견된 각 파일에 대해 실행되는 명령이며 {}
발견된 파일의 이름으로 대체됩니다.
Ubuntu와 같은 Linux 시스템이나 GNU 도구를 사용하는 모든 시스템에서 이 명령의 보다 효율적인 버전은 다음과 같습니다.
read -r mam
find "$mam" -type f -size +10k -exec mv -t /home/patakinorbert/Desktop/prk1 +
이는 한 번의 호출을 사용하여 여러 파일을 이동하기 때문에 더 효율적입니다 mv
.