0%

shell批量解压zip文件,替换文件名中的空格

shell批量解压文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
ZIP_FILES=$(ls *.zip) #获取当前目录下所有.zip结尾的文件
ZIP_TO="/home/bxw/book" #解压的目标位置

for zip_file in $ZIP_FILES; do
# 开始解压
#[注: -j 参数仅提取文件;
# -o 参数覆盖重名文件;
# -d 指定解压至何处 ]
unzip -jo $zip_file -d $ZIP_TO
# 解压后删除原有的zip压缩包
rm -rf $zip_file
done

shell批量替换文件名中的空格
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
ZIP_FILES=$(ls) #获取当前目录下所有文件
IFS_BACKUP=$IFS #shell默认空格为 换行 需要替换下 才能使用
IFS=$(echo -en "\n\b")
for file in $ZIP_FILES; do
new=`echo ${file}|sed -e 's/ //g'`
new=`echo $new|sed -e 's/:/:/g'`
new=`echo $new|sed -e 's/(/(/g'`
new=`echo $new|sed -e 's/)/)/g'`
new=`echo $new|sed -e 's/\.pdf//g'`
new=`echo $new|sed -e 's/【最新-高清电子版】//g'`
new="/home/bxw/book/$new"
echo $new
mv $file $new
done
IFS=$IFS_BACKUP