我需要find命令来重命名每个文件和目录。在我当前的目录中。 例: 我有文件和目录:
abc.txt
abcd.pdf
xyx.csv
XYS
XYZ
I want to rename it
abc.txt -> old_abc.txt
XYZ -> old_XYZ
我正在使用类似
find . ! -name dbg.txt -exec rename * old_ '{}' \;
我如何传递每个文件和目录作为查找命令的参数。
注意:我想避免重命名dbg.txt文件 请在这里帮助!
答案 0 :(得分:0)
如果您有perl rename
实用程序,则可以使用:
find . -type f -not -name 'dbg.txt' -print0 |
xargs -0 -I {} rename -n 's~^(.+/)(.+)~$1old_$2~' '{}'
{请注意,-n
是空试。验证此命令的输出后,请删除-n
选项以重命名所有文件。
如果您没有rename
实用程序,请使用:
find . -type f -not -name 'dbg.txt' -print0 |
xargs -0 -p -I {} bash -c 'mv "$1" "${1%/*}/old_${1##*/}"' - '{}'
答案 1 :(得分:0)
const db1 = new (require('./easy-db').db)();
console.log(db1); // { data: {}, filename: 'log/db/data.json' }
const db2 = new require('./easy-db').db();
console.log(db2); // undefined why???
但是,这将重命名所有子目录和文件中的所有旧名称。