我需要一个unix的批处理脚本,但我不太了解它。
我有文件夹A和他的子文件夹
A\a1\b\c\file.zip
A\a2\b\c\otherFile.zip
A\a3\b\c\thirdFile.zip
每个zip文件都包含一个xml文件和一个文本文件
脚本必须做两件事:
非常感谢
答案 0 :(得分:0)
你可以这样做。
#find the folder 'c' and unzip all zip files
for folder in `find ./A -name c -type d`; do unzip $folder/data.zip -d $foler; done
#find all .xml files and change the extension to .edefg
for file in `find ./A -name *.xml -type f`; do mv "$file" "${file%.xml}.edefg"; done
答案 1 :(得分:0)
你必须去所有目录。 会像
find A -type d -name c | while read dir; do
cd ${dir} || continue
unzip -u *.zip
call_rename_xml_function
cd - # not needed in bash where this code is performed in a subshell
done
编辑:在脚本被调用两次时添加了-u标志。