我想重命名.txt
文件夹中的所有文件。这个重命名确实.txt
为我重命名:
rename 's/\.txt//g' *.txt -v
但是当我想重命名所有子文件夹时
find ./ -type d -execdir rename 's/\.txt//g' *.txt -v ";"
它向我展示了:
Can't rename *.txt *: No such file or directory
Can't rename *.txt *: No such file or directory
...
还find ./ -type -d
正确显示了当前文件夹和所有子文件夹。
为什么我有No such file or directory
消息?
您需要正确使用
find
's-exec
语法,'{}'
用于表示找到的文件-n
测试后删除rename
。(假设您确实想要更改目录名而不是常规文件名 - 如果是这种情况,请使用
-type f
而不是type -d
)