ls -lrt |grep 'Jun 30th' | awk '{print $9}' | xargs mv -t /destinationFolder
특정 날짜나 패턴의 파일을 이동하거나 사용자를 생성하려고 합니다. 이 옵션이 없으면 제대로 작동하지 않습니다 -t
.
누군가 xargs -n
이동 -t
명령을 설명해 줄 수 있나요?
답변1
mv
매뉴얼 페이지 에서
-t, --target-directory=DIRECTORY
move all SOURCE arguments into DIRECTORY
mv
xargs의 기본 동작은 모든 것을 마지막 인수로 이동하는 것이므로 xargs
명령을 실행할 때 xargs에 파이프된 마지막 인수로 모든 것을 이동하려고 시도합니다 mv /destinationFolder pipedArgs
. -t
사용할 때 -t
명시적으로 여기로 이동하세요.
xargs
매뉴얼 페이지 에서
-n max-args
Use at most max-args arguments per command line. Fewer than max-args arguments will be used if the size (see the -s option) is exceeded, unless the -x option is given, in which case xargs will exit.
일반적으로 xargs
모든 인수는 한 번에 명령에 전달됩니다. 예를 들어
echo 1 2 3 4 |xargs echo
1 2 3 4
구현하다
echo 1 2 3 4
하지만
echo 1 2 3 4 |xargs -n 1 echo
구현하다
echo 1
echo 2
echo 3
echo 4