gpt4 book ai didi

linux - 关于linux命令 "xargs"的使用

转载 作者:IT王子 更新时间:2023-10-29 00:14:07 26 4
gpt4 key购买 nike

我有一些像

这样的文件
love.txt  
loveyou.txt

有用的目录中;我想将此文件复制到目录 /tmp

我使用这个命令:

find ./useful/ -name "love*" | xargs cp /tmp/

但它不起作用,只是说:

cp: target `./useful/loveyou.txt' is not a directory

当我使用这个命令时:

 find ./useful/ -name "love*" | xargs -i cp {} /tmp/

它工作正常,

我想知道为什么第二个有效,以及更多关于 -i cp {} 的用法。

最佳答案

xargs 将来自标准输入的单词放在给定命令的参数列表的末尾。因此,第一种形式创建

cp /tmp/ ./useful/love.txt ./useful/loveyou.txt

这是行不通的,因为有超过 2 个参数,而最后一个不是目录。

不过,-i 选项告诉 xargs 一次处理一个文件,将 {} 替换为其名称,因此它是相当于

cp ./useful/love.txt    /tmp/
cp ./useful/loveyou.txt /tmp/

显然效果很好。

关于linux - 关于linux命令 "xargs"的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18104585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com