如何从stdin使用cp?

Aar*_*ron 3 stdin cygwin cp

注意:

# cat /tmp/foo - 常规文件

/lib/a.lib
/lib/b.lib
/lib/c.lib
/lib/d.lib
Run Code Online (Sandbox Code Playgroud)

cat /tmp/foo | xargs cp /tmp/fred

cp:target /lib/d.lib不是目录

Dig*_*oss 10

xargs通常将其替换的args放在最后.你可以这样做:

$ cp `cat /tmp/foo` /tmp/fred/.
Run Code Online (Sandbox Code Playgroud)

如果它只是lib文件,那么cp /lib/?.lib /tmp/fred/.自然会起作用.

要真正做到这一点xargs,这里是一个将arg放在第一位的例子:

0:~$ (echo word1; echo word2) | xargs -I here echo here how now
word1 how now
word2 how now
0:~$ 
Run Code Online (Sandbox Code Playgroud)


Sin*_*nür 5

假设/tmp/fred是一个目录,请使用-t(--target-directory选项)指定它:

$ cat /tmp/foo | xargs cp -t /tmp/fred
Run Code Online (Sandbox Code Playgroud)