- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想做的是递归地找到某些文件并将它们移动到它们当前目录的上层。
例如,
foo1/bar1/abc
foo2/bar2/bar3/abc
将更新为
foo1/abc
foo2/bar2/abc
我试过了
find -name \*abc -exec /bin/mv '{}' .. \;
但这是错误的,因为它将所有内容都移到了 $PWD
的上层目录。
是否有类似的 cmd 行方式来动态向上移动事物?还是我必须使用更复杂的脚本?
最佳答案
给你..
这就是开始的结构......
$ tree
[.]
+-- foo1
! `-- bar1
! `-- abc
!
`-- foo2
`-- bar2
`-- bar3
`-- abc
然后我们运行命令移动文件
$ find . -type f -name "*abc" -exec bash -c ' mv -v {} `dirname {}`/.. ' \;
这会产生这个输出...
`./foo1/bar1/abc' -> `./foo1/bar1/../abc'
`./foo2/bar2/bar3/abc' -> `./foo2/bar2/bar3/../abc'
现在目录结构看起来像..
$ tree
[.]
+-- foo1
! +-- abc
! `-- bar1
!
`-- foo2
`-- bar2
+-- abc
`-- bar3
重要的一点……
-type f <-- Make sure that you pick files not folders, if you need folders too omit this.
-name "*abc" <-- Your file-match pattern
-exec bash -c ' mv -v {} `dirname {}`/.. ' \;
这里..执行 bash,给它传递一个字符串,它将找到文件的目录,并在末尾添加一个 '/..' 以使 mv 将文件带到父目录。
重要警告:
If you expect to have the file in the root of your search then eventually the file will move to parent directory of your searching root thereby taking them out of your match pattern forever.
或
If you are at the root of the filesystem the files will always match and mv will become a no-op.
无论如何,最好测试一下您最终不会在根目录下找到文件,除非那是本意。 :-)
希望这对您有所帮助。
关于Linux命令行,如何将所有找到的文件移动到上层目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11552412/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!