Pipe
‘-t’ 在 mv 命令中有什麼作用?下面的例子
ls -lrt |grep 'Jun 30th' | awk '{print $9}' | xargs mv -t /destinationFolder
我正在嘗試從某個日期或模式或 createuser 移動文件。如果沒有該
-t
選項,它就無法正常工作。有人可以開導
xargs -n
移動-t
命令嗎?
從
mv
手冊頁-t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY
mv
的預設行為是將所有內容移動到最後一個參數中,因此當xargs
執行命令時mv /destinationFolder pipedArgs
它-t
會嘗試將所有內容移動到通過管道傳輸到 xargs 的最後一個 arg 中。-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