shell复制文件夹(如何用shell批量移动子目录下文件到当前文件夹)

本文目录
- 如何用shell批量移动子目录下文件到当前文件夹
- shell如何复制整个目录,就是把整个目录以及这个目录下所有的东西移动到其他文件夹中
- shell 复制文件,如果重复,两个都要,不覆盖,怎么处理
- shell脚本怎样进行复制
如何用shell批量移动子目录下文件到当前文件夹
#!/bin/bash
rp=$(pwd)
echo rootpath-----------------:${rp}
# function
moveFile(){
# get dirs
ls -F | grep "/$" 》 temp_dirs.txt
cat temp_dirs.txt | while read d
#for d in $(cat temp_dirs.txt);
#while read d
do
cp=$(pwd)/${d}
cd ${cp}
echo currentPath----------------------:${cp}
ls -al | grep "^-" 》 temp_files.txt
cat temp_files.txt | while read f
#for f in $(cat temp_files.txt);
#while read f
do
fileName="${f##* }"
echo filename--------------------:${fileName}
newFileName=${rp}/${d%*/}-${fileName}
echo newfilename---------------------:${newFileName}
fullPath=${cp}${fileName}
echo fullPath-------------------------:${fullPath}
mv ${fullPath} ${newFileName}
done
#《 《(ls -al | grep "^-")
# delete temp file
test -a temp_files.txt && rm -rf temp_files.txt
#
moveFile
test -a temp_dirs.txt && rm -rf temp_dirs.txt
cd ..
done
#《 《(ls -F | grep "/$")
}
# exec
echo ’start move files ...’
moveFile
rm -rf *temp_dirs.txt
rm -rf *temp_files.txt
echo ’move files end’
技术有限,此代码效率不高;在linux测试没问题,mac上没测,你可以先测一下;文件移到根目录会被重命名为它原先所在的文件夹加上短杠加上它原先的名称
shell如何复制整个目录,就是把整个目录以及这个目录下所有的东西移动到其他文件夹中
1、打开Powershell工具;
2、调用“Copy-Item”命令;
3、输入源目录;
4、输入目标目录;
5、输入参数“-Recurse”,该参数的含义为递归到子目录;
6、点击回车,命令运行成功;
7、对应的目录下,已经出现了对应的目录和子文件。
shell 复制文件,如果重复,两个都要,不覆盖,怎么处理
#没有命令可以直接实现,下面我给了的范例:
#假如是把文件filename拷贝到/tmp目录,如果文件存在,则在原文件名后面增加一个后缀(.数字)
if
then
#文件不存在,直接拷贝
cp $filename /tmp
else
#后缀编号
_l_no=1
#新的文件名
new_filename="$filename.$_l_no"
while #判断新文件名是否存在,如果存在,则后缀递增,再尝试
do
#后缀编号递增
((_l_no+=1))
#新的文件名
new_filename="$filename.$_l_no"
done
#拷贝
cp $new_filename /tmp
fi
希望能够帮助到你,谢谢!
shell脚本怎样进行复制
1.怎么用shell脚本拷贝一个文件到另一个文件再把原文件删除
#,/bin/ksh
cp file1 file2
rm file1
上面两句可以写成
#拷贝命令成功后执行rm命令
cp file1 file2 && rm file1
2.如何用shell脚本,将一个文件夹下的头是个文件复制到另一个目录下面?
请尝试
#,/bin/bash
aa=`/bin/ls /home/lscm/aaa/|head` ##所加符号为反引号,
cp $aa /home/lscm/bbb/
您看一下是不是需要这个命令。

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30



