【发布时间】:2018-04-24 14:03:51
【问题描述】:
我想使用 Git Bash 将我最近下载的 3 个文件复制到另一个目录。我可以使用列出它们
ls -t ~/Downloads|head -n 3
,但是我如何将它们作为输入传递给 cp 函数,以便我可以 将它们复制到其他目录?
我对编程和 Bash 还很陌生,所以如果这很明显,我深表歉意。
【问题讨论】:
-
这与git无关,实际上只是一个bash问题。您正在寻找的是 xargs。
我想使用 Git Bash 将我最近下载的 3 个文件复制到另一个目录。我可以使用列出它们
ls -t ~/Downloads|head -n 3
,但是我如何将它们作为输入传递给 cp 函数,以便我可以 将它们复制到其他目录?
我对编程和 Bash 还很陌生,所以如果这很明显,我深表歉意。
【问题讨论】:
注意:您不需要 git bash 来复制这些文件:如果您已将 <git>/usr/bin 添加到您的 %PATH%(如 I do here, with this simplified
PATH),您可以在任何常规 CMD 会话中执行该 Linux 命令序列:
vonc@VONC D:\git\git
> where xargs
D:\prgs\git\latest\usr\bin\xargs.exe
vonc@VONC D:\git\git
> ls -t|head -3|xargs | xargs -I\{\} echo "{}" a
wt-status.h wt-status.c worktree.h a
另见“pass output as an argument for cp in bash”,其中提到了 xargs。
另一个选项 (cp $(ls -t | head -3) Directory) 只能在 bash 中。
【讨论】: