【发布时间】:2017-11-21 01:05:16
【问题描述】:
我有这样组织的文件夹:
Folder1
[xxx] - ( aa) - [xxx]
1.zip
2.zip
Folder2
[xxx] - ( bb ) - [xxx]
11.zip
22.zip
我需要:
- 进入每个Folderx解压缩其中包含的文件
- 如果提取的文件未成功提取,则记录日志
- 将提取的文件移动到另一个文件夹
- 如果提取的文件未成功移动,则记录 如果有任何失败,我不想要这个过程。
我一开始就想到了:
for D in `find . -type d`
do
cd $D
echo "$(pwd)"
for z in *.zip; do
unzip -u $z
echo "File: " $z;
if [ $? -eq 0 ]
then
echo "Successfully created file"
else
echo "Could not create file" >&2
fi;
done
done
我尝试了很多方法,例如将“find .-maxdepth 1 -type d”替换为“find .-maxdepth 1”或使用数组等,但总有一些失败。
我的主要问题是,当我尝试时:
$ find . -type d
我得到这个结果:
Folder1
Folder1/[xxx] - ( aa) - [xxx]
Folder2
Folder2/[xxx] - ( bb ) - [xxx]
但是当我在我的脚本中使用相同的命令时,它会像这样解析它:
Folder1
[xxx]
-
(
a
)
-
[xxx]
Folder2
[xxx]
-
(
bb
)
-
[xxx]
我从来没有找到避免在每个空间分割路径的方法......
有什么提示吗?
提前致谢
【问题讨论】:
-
很抱歉布局不佳,我想我在这里使用它很糟糕......
-
谢谢,我又试了一次,我想它会更好......引用效果不太好......或者至少我没有使用它应该在这里......
标签: bash parsing directory subdirectory