我想对chown目录中的所有隐藏文件执行一些操作(比如)。
我知道这.*是不是一个好主意,因为它也将查找当前.和父..目录(我知道,rm将无法进行操作.和..,但其他命令,包括chown和chmod,会很乐意生效)
但是我所有的隐藏文件都有不同的名字!
我应该如何在排除.和的同时搜索所有隐藏文件..?
我有一个这样的目录结构:
Bookname Edition 1
Bookname Edition 1 type1.pdf
Bookname Edition 1 type2.pdf
Bookname Edition 2
Bookname Edition 2 type1.pdf
Bookname Edition 2 type2.pdf
Run Code Online (Sandbox Code Playgroud)
我想递归的名字从改变Edition到Volume的目录,并在这些目录中的文件名。
我从这个开始,如果我在目录中就可以了:
Bookname Edition 1
Bookname Edition 1 type1.pdf
Bookname Edition 1 type2.pdf
Bookname Edition 2
Bookname Edition 2 type1.pdf
Bookname Edition 2 type2.pdf
Run Code Online (Sandbox Code Playgroud)
然后我尝试更改目录下的所有文件,这就是我卡住的时候......
请你能告诉我如何做到这一点或给我一个更好的方法来做到这一点。100 个目录中有 15000 个 PDF。
我找到了一个递归打印完整目录树的脚本,但我无法理解。谁能完整描述一下?我刚刚开始编写 shell 脚本。这是代码:
#!/bin/bash
walk() {
local indent="${2:-0}"
printf "%*s%s\n" $indent '' "$1"
for entry in "$1"/*; do
[[ -d "$entry" ]] && walk "$entry" $((indent+4))
done
}
walk "$1"
Run Code Online (Sandbox Code Playgroud)