关于linux 命令cp
例如:/root目录下有目录abca目录下有a1a2a3b目录下有b1b2b3c目录下有c1c2c3a1目录中有file1file2file3我需要的文件为file1我要...
例如:/root目录下有目录a b c
a 目录下 有a1 a2 a3
b 目录下 有b1 b2 b3
c 目录下 有c1 c2 c3
a1目录中有file1 file2 file3
我需要的文件为 file1
我要把file1复制到 /test/下 但要保持原来的目录结构
即:复制后为/test/root/a/a1/file1 且只复制file1及file1所在的目录
请问 怎么实现
PS:请教高手 不打算一级一级建目录 展开
a 目录下 有a1 a2 a3
b 目录下 有b1 b2 b3
c 目录下 有c1 c2 c3
a1目录中有file1 file2 file3
我需要的文件为 file1
我要把file1复制到 /test/下 但要保持原来的目录结构
即:复制后为/test/root/a/a1/file1 且只复制file1及file1所在的目录
请问 怎么实现
PS:请教高手 不打算一级一级建目录 展开
展开全部
1、多个命令
find /root -name "file1" |xargs dirname |awk '{print "/test/"$1}'|xargs mkdir -p
cp `find /root -name "file1"` `find /root -name "file1" |xargs dirname |awk '{print "/test/"$1}'`
2、用for循环
[root@vs_6170_07 test]# more cplist.sh
#!/bin/bash
for filename in `find /root -type f -name "file1"`
do
echo $filename;
mkdir -p /test`dirname $filename`
cp $filename /test`dirname $filename`
ls -l /test$filename
done
find /root -name "file1" |xargs dirname |awk '{print "/test/"$1}'|xargs mkdir -p
cp `find /root -name "file1"` `find /root -name "file1" |xargs dirname |awk '{print "/test/"$1}'`
2、用for循环
[root@vs_6170_07 test]# more cplist.sh
#!/bin/bash
for filename in `find /root -type f -name "file1"`
do
echo $filename;
mkdir -p /test`dirname $filename`
cp $filename /test`dirname $filename`
ls -l /test$filename
done
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询