我在文件夹中有一堆文件,在子文件夹中,我试图做一些简单的快速复制/粘贴一段时间。命令行查找,sed,exec
内容是(太长,粘贴到这里):http://pastebin.com/4aZCPbwT
我试过下面的命令:
列出所有文件及其目录
find . -name '[!.]*'
替换所有实例“命名空间”与“测试:
find . -name '[!.]*' -print0 | sed 's/Namespace/Test/gI' | xargs -i -0 echo '{}'
我需要做的是:
替换如上所述的折叠名称,并将文件夹(包括文件)复制到其他位置。创建文件夹,如果它们不存在(他们很可能不会) - 但是,有一些我不需要,如./app,因为此文件夹存在。我可以使用-wholename'./app'。
当它们被复制时,我需要替换每个文件中的一些文本,与上面相同(命名空间与测试 - 也出现在文件中并保存它们当然)。
像这样的事情我会想象:
-print -exec sed -i 's/Namespace/Test/gI' {} \;
难道这三件事在一个班轮做什么?替换文件中的文本(命名空间< => Test),使用cp -p(不想写入文件夹)复制包括其目录的文件,但用上面的命名空间重命名每个目录/文件(命名空间< => Test)。
非常感谢:-)
为什么浪费时间拿出一个衬垫......我只想写有'for'循环,甚至更好'python'脚本一个简单的bash脚本。这可以在'python'交互式shell中很好地完成。 – pajton 2011-04-07 21:47:21
好吧,好点。只是似乎只是复制/粘贴东西到我的终端会更容易:-)。我的Bash技能并不强,所以我可能无法写出完整的脚本。我只能做小随机命令。 – Michael 2011-04-07 21:49:32
你发布的命令表明你有一些技巧:) – pajton 2011-04-07 21:51:03