mv 命令中的“-t”有什么作用?下面的例子

mv 命令中的“-t”有什么作用?下面的例子
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执行命令 时mv /destinationFolder pipedArgs,它-t会尝试将所有内容移至通过管道传送到 xargs 的最后一个参数中。使用 时,-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

相关内容