如果我跑:
def naturalNames = Person.gormPersistentEntity.persistentPropertyNames.collect {
grails.util.GrailsNameUtils.getNaturalName(it)
}
//returns ['First Name', 'Last Name'...]
def capitilizedNames = Person.gormPersistentEntity.persistentProperties.collect{
it.capitilizedName
}
//returns ['FirstName', 'LastName'...]
我明白了:
mkdir -p "$HOME"/old_foo && find "$HOME" -type d -name "*foo" -exec mv -vi {} "$HOME"/new_foo \;
但也是:
/Users/medialab/old_foo -> /Users/medialab/new_foo
为什么find: /Users/medialab/old_foo: No such file or directory
在移动目录后搜索目录old_foo?
答案 0 :(得分:1)
这似乎与此处的问题类似:Why does find -exec mv {} ./target/ + not work ? (on cygwin)
正如作者所指出的,你可以使用gnu mv
我个人更喜欢使用xargs,如下所示:
mkdir old_foo && find . -type d -name "*foo" -print0 | xargs -0 -I {} mv {} new_foo
答案 1 :(得分:0)
对于您的问题,我认为find
也在目录内尝试匹配模式。
find
尝试进入目录内部时,该目录不在此处,因为他已经被移动。
可以看到,如果使用:
find "$HOME" -mindepth 1 -maxdepth 1 -type d -name "*foo" -exec mv -vi {} "$HOME"/new_foo \;
该命令强制find
保留在您的库中,并且不要在所有库中进行探索。