一个合并文件夹的命令怎么用法
发表于 : 2014-03-01 10:10
例如我在ubuntu文件夹下有5个文件
分别是1,2,3,4,5
这5个文件夹下边都有个同样的目录a
我想将这5个文件夹合并,应该怎么做?用什么命令呢?谢谢!
分别是1,2,3,4,5
这5个文件夹下边都有个同样的目录a
我想将这5个文件夹合并,应该怎么做?用什么命令呢?谢谢!
代码: 全选
(cd 1;tar cvf - *) | (cd a;tar xvf -)
(cd 2;tar cvf - *) | (cd x;tar xvf -)
(cd 3;tar cvf - *) | (cd x;tar xvf -)
(cd 4;tar cvf - *) | (cd x;tar xvf -)
(cd 5;tar cvf - *) | (cd x;tar xvf -)
有没有简单点的命令或者软件能做到呢?cao627 写了:命令行
先cd到你的这个ubuntu目录,在这个目录创建一个用于存放合并内容的文件夹x(名字随便)。这样ubuntu目录下的1,2,3,4,5目录下的内容都合并到ubuntu下的新创建的x目录下了,x目录下的目录a下也是1,2,3,4,5目录下a目录下的内容的总合。代码: 全选
(cd 1;tar cvf - *) | (cd a;tar xvf -) (cd 2;tar cvf - *) | (cd x;tar xvf -) (cd 3;tar cvf - *) | (cd x;tar xvf -) (cd 4;tar cvf - *) | (cd x;tar xvf -) (cd 5;tar cvf - *) | (cd x;tar xvf -)
写个脚本,大致如下:ubuntuubun 写了:有没有简单点的命令或者软件能做到呢?cao627 写了:命令行
先cd到你的这个ubuntu目录,在这个目录创建一个用于存放合并内容的文件夹x(名字随便)。这样ubuntu目录下的1,2,3,4,5目录下的内容都合并到ubuntu下的新创建的x目录下了,x目录下的目录a下也是1,2,3,4,5目录下a目录下的内容的总合。代码: 全选
(cd 1;tar cvf - *) | (cd a;tar xvf -) (cd 2;tar cvf - *) | (cd x;tar xvf -) (cd 3;tar cvf - *) | (cd x;tar xvf -) (cd 4;tar cvf - *) | (cd x;tar xvf -) (cd 5;tar cvf - *) | (cd x;tar xvf -)
例如我要合并数十个文件夹的话,这样都是重复操作呢,我是想将将同一目录下的所有子目录都合并,有没好用的命令或者软件?
合并来整理资料啊。eexpress 写了:你的合并,是要干啥,没说清楚。
谢谢!但菜鸟不懂写脚本,有时间的话能不能麻烦你帮忙贴出脚本让我用呢?cao627 写了:写个脚本,大致如下:ubuntuubun 写了:有没有简单点的命令或者软件能做到呢?cao627 写了:命令行
先cd到你的这个ubuntu目录,在这个目录创建一个用于存放合并内容的文件夹x(名字随便)。这样ubuntu目录下的1,2,3,4,5目录下的内容都合并到ubuntu下的新创建的x目录下了,x目录下的目录a下也是1,2,3,4,5目录下a目录下的内容的总合。代码: 全选
(cd 1;tar cvf - *) | (cd a;tar xvf -) (cd 2;tar cvf - *) | (cd x;tar xvf -) (cd 3;tar cvf - *) | (cd x;tar xvf -) (cd 4;tar cvf - *) | (cd x;tar xvf -) (cd 5;tar cvf - *) | (cd x;tar xvf -)
例如我要合并数十个文件夹的话,这样都是重复操作呢,我是想将将同一目录下的所有子目录都合并,有没好用的命令或者软件?
cd /yourdir
for i in `ls -l | awk '/^d/{print $NF}'`
do
(cd $i;tar cvf - *) | (cd /dir/x;tar xvf -)
done
再删除/yourdir的所有子目录
将/dir/x目录复制到/yourdir下
这样你原来/yourdir下所有子目录下的内容合并到yourdir/x下了
/yourdir :是包含你要合并其下所有子目录的目录
/dir/x :是你要将这些子目录合并到的目录
我不是编程,只是想要将重复的工作简单点,每天都不断从不同的文件夹剪切来合并成一文件夹。luojie-dune 写了:哦。好怪异。不是要做什么,而是要一条命令。
对过程编程,不是对对象编程。多么古老啊。。。
目录1下有文件1.txt和子目录a ,子目录a下有文件1.exe 甚至a其下还有子目录beexpress 写了:不是直接mv就可以嘛
mv ./*/ub/* ~/ub
如果硬要是搞高级的
find . -type d "ub" -exec mv {}/* ~/ub \;
神居然用shell~怎么能这样,我大perl去哪儿了eexpress 写了:不是直接mv就可以嘛
mv ./*/ub/* ~/ub
如果硬要是搞高级的
find . -type d "ub" -exec mv {}/* ~/ub \;
我也觉得... tar 看的我一头雾水。eexpress 写了:不是直接mv就可以嘛
mv ./*/ub/* ~/ub
如果硬要是搞高级的
find . -type d "ub" -exec mv {}/* ~/ub \;
设luojie-dune 写了:就是说,条条大路通罗马。
多个目录成一个, mv 很直接,或者生成目录的过程就改,也不用这么麻烦。。。