我有许多以下类型的文件夹和文件:
├── name 1.htm
├── name 2.html
├── name 1_files
│ ├── some files
├── name 2_files
│ ├── some files
我需要每个.htm或.html文件来找到具有相同名称但末尾带有“ _files”的适当文件夹。
然后我需要将找到的文件和文件夹放在另一个文件夹中,例如'000',然后将其压缩。
然后我需要将生成的.zip文件移动到另一个文件夹,例如'Found'。
我一般来说是bash和脚本编写的新手,所以可以得到任何帮助。
这里是一个zip-by-prefix.sh脚本,您可以从htm *文件所在的目录中运行:
mkdir -p found
ls *.htm* > htmlfiles.txt
cat htmlfiles.txt | cut -d"." -f1 | uniq > htmlprefixes.txt
PREFIXES=$(echo `cat htmlprefixes.txt`)
for prefix in $PREFIXES
do
mkdir -p 000$prefix
cp $prefix* 000$prefix
zip -r 000$prefix.zip 000$prefix
mv 000$prefix.zip found
done
rm *.txt
说明
最后检查“找到的”目录是否包含压缩文件