问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

shell 批量处理

发布网友 发布时间:2023-04-22 00:54

我来回答

1个回答

热心网友 时间:2023-04-24 21:27

### 批量 - 压缩文件夹内文件内容

```

#!/bin/bash

# zip-Shell.sh

echo "==============================START================================="

# 0.输入工作目录

echo "input your work dir:"

read work_dir

cd ./$work_dir

path=$1

files=$(ls $path)

a=0

for filename in $files

do

a=$[$a+1]

cd $filename

if [ $? -ne 0 ]; then

echo "处理第{$a}个包: $filename, cd failed! Please check this file."

else

if [ -d "./__MACOSX" ]; then

rm -rf ./__MACOSX

fi

zip -q -r -m $filename.zip *

if [ $? -ne 0 ]; then

echo "处理第{$a}个包: $newfilename, zip failed! Please check this file."

cd ..

else

mv $filename.zip ..

cd ..

# 可以自行决定不删除原文件

rm -r $filename

fi

echo "处理完毕第{$a}个包: $filename"

fi

done

echo "==============================END=============================="

```

### 批量 - 解压缩

```

#!/bin/bash

# unzip-Shell.sh

echo "==============================START================================="

# 0.输入工作目录

echo "input your work dir:"

read work_dir

cd ./$work_dir

path=$1

files=$(ls $path)

a=0

for filename in $files

do

a=$[$a+1]

# 移除字符串中的 ".zip"

newfilename=${filename%.zip}

unzip -q $filename -d $newfilename

if [ $? -ne 0 ]; then

echo "处理第{$a}个包: $newfilename, unzip failed! Please check this zip."

else

cd $newfilename

if [ $? -ne 0 ]; then

echo "处理第{$a}个包: $newfilename, cd failed! Please check this file."

else

if [ -d "./__MACOSX" ]; then

rm -rf ./__MACOSX

fi

cd ..

# 否要删除原来的zip文件

rm -r $filename

echo "处理完毕第{$a}个包: $newfilename"

fi

fi

done

echo "==============================END=============================="

```

### 批量 - 替换文件

```

#!/bin/bash

# copyBgPng.sh

# 文件拷贝的目标工作目录

MY_WORK_DIR="./6060"

# 文件拷贝的源工作目录

MY_COPY_SRC_PNG_DIR="./luaScript/bg.png"

MY_COPY_DST_PNG_DIR="./ar/res/bg_0.png"

echo "==============================START================================="

cd $MY_WORK_DIR

path=$1

files=$(ls $path)

a=0

for filename in $files

do

a=$[$a+1]

cd $filename

if [ -d "./__MACOSX" ]; then

rm -rf ./__MACOSX

fi

cp -r -f $MY_COPY_SRC_PNG_DIR $MY_COPY_DST_PNG_DIR

if [ $? -ne 0 ]; then

echo "ERROR:处理第{$a}个包: $filename,拷贝失败!"

else

echo "处理完毕第{$a}个包: $filename"

fi

cd ..

done

echo "==============================END=============================="

```

### 批量 - 解析文件(json、xml等)生成对应需要的plist文件

```

#!/bin/bash

# writeRuleConfigPlist.sh

# 工作目录

MY_WORK_DIR="./6060"

MY_XML_DIR="./StickerInfo.xml"

MY_PLIST_FILE="configuration.plist"

echo "==============================START================================="

cd $MY_WORK_DIR

path=$1

files=$(ls $path)

a=0

for filename in $files

do

a=$[$a+1]

cd $filename

if [ -d "./__MACOSX" ]; then

rm -rf ./__MACOSX

fi

# 如果是解析json文件用` cat json文件 | jq '.变量名' ` 语句

width=` cat $MY_XML_DIR | grep '<width>' | awk -F '>' '{print $2}' | awk -F '<' '{print $1}' `

if [ $? -ne 0 ]; then

width=300

fi

height=` cat $MY_XML_DIR | grep '<height>' | awk -F '>' '{print $2}' | awk -F '<' '{print $1}' `

if [ $? -ne 0 ]; then

height=300

fi

echo "{$width, $height}"

echo "<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<array>

<dict>

<key>AR</key>

<string>ar</string>

<key>BubbleSize</key>

<string>${width},${height}</string>

</dict>

</array>

</plist>

" > $MY_PLIST_FILE

if [ $? -ne 0 ]; then

echo "ERROR:处理第{$a}个包: $filename,写入失败!"

else

echo "处理完毕第{$a}个包: $filename"

fi

cd ..

done

echo "==============================END=============================="

```
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...有关气体的制取装置或实验操作,错误的是( )A.制取氧气的发生装置B... 下列实验操作和做法中,错误的是( ) A.制取气体时,先检查气体发生装置的... 《两个人的小森林》庄羽身世 《我的兄弟叫顺溜》中陈大雷的警卫员演员庄羽的基本资料,要详细点 1s2 2s2 2p6 3s2……能继续往后吗?f再往后是什么?顺序怎么排? 苹果六s24G 的是多少寸? 庄羽作品集内容简介 惰性电子对效应解释与其内容 不是我说你内容简介 半张脸的作者简介 虚拟机中压缩包显示红色 西红柿腐烂了还能吃吗 在excel2010的设置单元格格式对话框中可以 失望至极的文案简短 痛到骨子里心碎的句子 美国自住房和出租房的房屋保险对比介绍 自住房有必要买出租房屋租金损失险吗 市区自住房投保房屋保险该怎么买的 自住房购买室内物品保险哪家好些 加拿大房屋保险有哪些 家里有一套自住型的房子,担心家里财物的安全,有必要买一份个人家庭财产保险吗 身份证过期了不办理会怎么样 腾讯电视和手机都开通了,为什么手机登录电视就下线了 傻话的结构傻话的结构是什么 蠢话的国语词典 蠢话的国语词典是什么 呆话的词语呆话的词语是什么 傻瓜的单词傻瓜的单词是什么 win10过一段时间任务栏出问题是什么原因? 美团民宿直销怎么操作 四面墙有声小说哪里免费听 免费听小说哪个软件好 看看有没有你喜欢的 冰箱响一阵又停一阵怎么回事 梦见猩猩是什么意思 梦到猩猩是什么预兆 冰箱保鲜层结冰什么原因 梦见几条狗和我亲热的预兆 梦见狗和自己很亲热的预兆 梦见大蟒蛇和蛇大架的预兆 我爱我的祖国诗歌朗诵 携程取消订单会全额退款吗 请教一下怎样炸空心煎堆 别人登录我的我会知道吗 你没开数据别人登你微信第二天会显示吗 是不是别人登录你的都会有显示? 刚刚错过了初恋,该如何重获自己的幸福? 行边原文_翻译及赏析 做梦梦见棺材以及下葬的坑预示着什么 梦见同战友并肩战斗的预兆 梦见和战友打架的预兆 梦见自己和战友打架 梦见与战友打架的预兆 梦见不认识的战友一起作战