使用 find 命令对解决 shell 脚本的工作流程帮助不大。
- 查找每个文件夹中的所有 index.html 文件。
我们可以将其与 find 命令一起使用。
find ./ -type f -name 'index.html'
- 使用文件夹名称重命名文件 index.html。
- 重命名文件后,我想将文件上移一级。
我无法重命名文件并将文件上移一级。
因为我有超过 10 万个文件,所以 Xargs 对此很方便。
这是我目前拥有的代码
find ./ -type f -name 'index.html' | xargs -P 4
├── dc
│ ├── adams-morgan
│ │ ├── car-donation
│ │ │ └── index.html
│ │ ├── feed.rss
│ │ ├── index.html
│ │ ├── junk-car
│ │ │ └── index.html
│ │ └── sitemap.xml
│ ├── american-university
│ │ ├── car-donation
│ │ │ └── index.html
│ │ ├── feed.rss
│ │ ├── index.html
│ │ ├── junk-car
│ │ │ └── index.html
│ │ └── sitemap.xml
重命名 index.html 文件并将文件上移一级有什么帮助吗?
提前致谢 Suresh
答案1
你也xargs
可以使用find -exec
。在里面,你可以运行一个小sh
脚本:
find . -mindepth 2 -type f -name 'index.html' -exec sh -c '
d="$(dirname "$1")";
mv "$1" "$d/../$(basename "$d").html";
rmdir "$d";
' find-sh {} \;