我有一个带文件的父文件夹和许多带文件的子文件夹。我需要将文件单独从父文件夹和子文件夹复制到OutputFolder。下面是文件夹结构。
ParentFolder:Parent_1.txt,Parent_2.txt
子文件夹1:Folder1_1.txt,Folder1_2.txt
子文件夹2:Folder2_1.txt,Folder2_2.txt
OutputFolder: Parent_1.txt,Parent_2.txt,Folder1_1.txt,Folder1_2.txt,Folder2_1.txt,Folder2_2.txt
我尝试了下面的代码,但是它将所有文件从子文件夹复制到父文件夹,然后移至OutputFolder。另外,当我调用“ sh Filename.sh”时,会丢失`-exec'的参数 cp:无法统计'20190105'$'\ r''/ *':没有此类文件或目录。
Today=$(date +%Y%m%d -d "today")
mkdir $Today
Yesterday=$(date +%Y%m%d -d "yesterday")
find $Yesterday -iname "*.txt" -exec cp {} $Yesterday \;
cp $Yesterday/* $Today/
为此寻求帮助!
答案 0 :(得分:0)
我需要将文件单独从父文件夹和子文件夹复制到OutputFolder。
我尝试了下面的代码,但是它将所有文件从子文件夹复制到父文件夹
要直接将文件复制到 OutputFolder $Today
,只需在$Today
之后指定$Yesterday
而不是-exec cp {}
。
我缺少`-exec'cp的参数:无法统计'20190105'$'\ r'/ *':没有这样的文件或目录。
\r
是脚本中Windows行尾的标志-删除CR或将其保存为Unix格式。
答案 1 :(得分:0)
使用此:
string[]
将深度限制为当前目录。注意大括号中的引号。