gpt4 book ai didi

bash - 查找对当前用户具有写权限的文件

转载 作者:行者123 更新时间:2023-11-29 09:14:25 25 4
gpt4 key购买 nike

我需要在当前用户具有“写入”权限的目录中查找文件。

我试过像下面这样使用find:

find $DIR -type f -user $(whoami) -perm -u+w

但是上面的find 查找属于$(whoami) 的文件。

我正在查找的文件可能不属于 $(whoami) 但仍有权限(例如,666 权限)

我也在下面尝试过(如果看起来很愚蠢,请见谅):

find $DIR -type f -exec test -w {} \;

最佳答案

您的第二种方法似乎是正确的;你只是忘了打印文件名。

你可以写一个脚本

#!/bin/sh
test -w "$1" && echo "$1"

然后在此脚本上使用 -exec

更新:如果您不喜欢使用单独脚本的想法,您也可以将它放在一行中:

find $DIR -type f -exec bash -c 'test -w "$1" && echo "$1"' x {} \;

单独的 x 只是一个占位符,因为 bash 将其视为 $0,而您想将当前文件分配给 $1。另一种可能性是

find $DIR -type f -exec bash -c 'test -w "$0" && echo "$0"' {} \;

但对我来说,这看起来不太清楚,就像滥用 $0。

关于bash - 查找对当前用户具有写权限的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55100510/

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