相关疑难解决方法(0)

带有多个 `-name` 和 `-exec` 的 `find` 只执行 `-name` 的最后一个匹配项

当我使用

find . -type f -name "*.htm*" -o -name "*.js*" -o -name "*.txt"

它找到所有类型的文件。但是当我-exec在最后添加时:

find . -type f -name "*.htm*" -o -name "*.js*" -o -name "*.txt" -exec sh -c 'echo "$0"' {} \;

它似乎只打印.txt文件。我究竟做错了什么?

注意:使用 MINGW (Git Bash)

find

96
推荐指数
2
解决办法
10万
查看次数

是否可以从 find 命令中排除目录?

我正在使用find -type f命令从某个起始目录递归查找所有文件。但是,我想阻止某些目录输入和提取其中的文件名。所以基本上我正在寻找类似的东西:

find . -type f ! -name "avoid_this_directory_please"
Run Code Online (Sandbox Code Playgroud)

有没有其他功能可以替代?

find

42
推荐指数
4
解决办法
10万
查看次数

解释 find 的 -path 和 -prune 选项

我有一个我理解大部分的简单脚本,它是 find 命令不清楚。我有很多文档,但它并不能使它更清晰。我的想法是它像 for 循环一样工作,当前找到的文件被换入 {} 并复制到 $HOME/$dir_name,但是-path-prune -o的搜索如何工作?拥有如此具体和相关的文档,但仍然不知道发生了什么,这很烦人。

#!/bin/bash
# The files will be search on from the user's home
# directory and can only be backed up to a directory
# within $HOME

read -p "Which file types do you want to backup " file_suffix
read -p "Which directory do you want to backup to " dir_name

# The next lines creates the directory if it does not exist
test -d $HOME/$dir_name || mkdir …
Run Code Online (Sandbox Code Playgroud)

find

21
推荐指数
2
解决办法
3万
查看次数

标签 统计

find ×3