linux 怎么讲find到的文件复制到另一个文件夹中
发布网友
发布时间:2022-05-06 16:53
我来回答
共5个回答
热心网友
时间:2023-10-12 16:48
linux中文件复制使用的是命令cp ,所以用find查找到文件所在位置后,可通过如下方法复制文件:
1、使用find命令找到文件或文件夹所在的位置A
2、使用cp 命令将A处文件拷贝到B处;cp -r A B
-r指递归处理
热心网友
时间:2023-10-12 16:48
mkdir -p $(find /data -name "*.jsp" -exec dirname {} \; | awk -F'data' '{print "/cms"$2 }' )
eval $(find /data -name "*.jsp" | awk -F'data' '{print "cp "$1"data"$2 " /cms"$2";"}' )
抱歉,上面的代码弄了一个bug出来,重写一个:
mkdir -p $(find /data -name "*.jsp" -exec dirname {} \; | sed -n 's/\/data//p' | awk '{print "/cms" $1}' )
eval $(find /data -name "*.jsp" | sed -n 's/\/data//p' | awk '{print "cp /data" $1 " /cms" $1 ";"}' )
热心网友
时间:2023-10-12 16:49
用你的命令试了一下,并没有发现这个情况
find /data -name *.jsp -exec cp {} /cms \;
/data下的东西都在的啊追问/data/jsp/a.jsp
我需要的是到cms变成/cms/jsp/a.jsp
追答这个好像没有这个参数的,如果你要做成这样,估计一条命令不够用,需要脚本支持了
热心网友
时间:2023-10-12 16:49
cd /data
tar cf - `find . -name "*.jsp"` | tar xf - -C /cms
即可。
热心网友
时间:2023-10-12 16:50
find /data -name "*.jsp" -exec cp {} cms \;
find /data -name "*.jsp" -exec cp {} /cms \;追问/cms /是我写漏了。