gpt4 book ai didi

linux - find -name 有和没有 xargs 给出不同的结果

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:45 24 4
gpt4 key购买 nike

我需要对很多目录中的很多文件执行一些操作,比如检查它们是否受密码保护。

我创建了一个 bash 脚本 (fileproc.sh),我想检查它是否有效,所以我做了一件愚蠢的事情只是为了看看它是否有效:

#!/bin/sh
echo 'File: ' + $1

然后如果我运行一个简单的

find . -name "*.zip" -type f

我有一长串预期的 .zip 文件。

如果我跑

find . -name "*.zip" -type f -print0 | xargs ./fileproc.sh

我只有三个文件。

我做错了什么?

谢谢

最佳答案

xargs 用于运行带有多个参数的命令,参见 man xarg。它会将 find 打印的行附加到命令行,直到达到系统相关的限制。

$1 只是第一个命令行参数,您看不到第二个和后面的参数。

在你的脚本中尝试

echo 'File(s): ' "$@"

关于linux - find -name 有和没有 xargs 给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54750702/

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