重击发现修剪不符合预期

时间:2018-12-10 08:32:46

标签: linux bash shell find

我有几个git存储库,我想计算它们包含多少个.txts,目录和其他文件。问题是每个存储库中都有一个包含更多文件和配置的.git目录。我正在寻找的文件夹或.git目录或其包含的文件。我使用以下命令:

all="$(find $repo -path "$repo"/.git -prune -o type f)"
dirs="$(find $repo -path "$repo"/.git -prune -o type d)"
txts="$(find $repo -path "$repo"/.git -prune -o type f -iname "*.txt")"

$repo是我的存储库的路径,看起来像assignments/repo1 assignments/repo2等。 所有这些查找迭代仍在.git内并在其中列出所有内容。我犯了语法错误还是什么?

1 个答案:

答案 0 :(得分:-1)

谢谢您的回复。我无法使-path正常工作,所以我将其切换为-name。我也使用了"$repo"/*中的find命令,我认为这样就解决了。我没有尝试它,但是我相信如果我将-path"$repo"/*一起使用,那将会奏效。