![이동할 파일 수를 어떻게 설정하나요? [복사]](https://linux55.com/image/214111/%EC%9D%B4%EB%8F%99%ED%95%A0%20%ED%8C%8C%EC%9D%BC%20%EC%88%98%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%84%A4%EC%A0%95%ED%95%98%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
다음에서 png
파일을 이동할 예정입니다 .source/
dest/
mv /source/*.png /dest/
png
10개의 파일만 이동 하도록 명령을 어떻게 변경합니까 ?
답변1
Zsh에서 사용할 수 있습니다글로벌 예선:
mv /source/*.png([1,10]) /dest/
처음 10개를 알파벳순으로 이동합니다. // o
한정자를 O
사용하여 다른 순서를 선택할 수 있습니다 n
. 예를 들어:
mv /source/*.png(OL[1,10]) /dest/
가장 큰 10개 항목이 이동됩니다.
정렬 없이 처음 10개의 일치 항목을 선택하는 최적화된 버전은 한정자를 사용하여 수행할 수 있습니다 Y
.
mv /source/*.png(Y10) /dest/
답변2
POSIXly에서는 다음을 사용하여 이를 수행할 수 있습니다.
set -- /source/*.png
[ "$#" -le 10 ] || shift "$(( $# - 10 ))"
mv -- "$@" /dest/
이렇게 하면 마지막 10개가 알파벳순으로 이동됩니다.
숨겨진 파일은 제외됩니다. 일치하는 항목이 없으면 이름이 지정된 파일을 이동하려고 시도하며 /source/*.png
실패할 수 있습니다.
답변3
ls /source/*.png | head -n10 | xargs -I{} mv {} /dest/