帮我写一个linux shell脚本,把当前目录下txt文件分别压缩成与txt文件名相同的zip压缩包
时间: 2023-09-10 11:05:55 浏览: 136
将文件压缩zip
3星 · 编辑精心推荐
### 回答1:
很高兴为您服务!下面是一个bash脚本,用于将当前目录中的txt文件压缩成与文件名相同的zip压缩包:
#!/bin/bashfor file in *.txt; do
zip -j "${file%.*}".zip "$file"
done
### 回答2:
下面是一个可以实现你所描述的功能的Linux shell脚本:
```shell
#!/bin/bash
# 遍历当前目录下的所有txt文件
for file in *.txt; do
# 获取文件名(不包含扩展名)
filename=$(basename "$file" .txt)
# 创建对应的zip压缩包,并将txt文件添加到压缩包中
zip "$filename.zip" "$file"
# 提示压缩完成
echo "已成功压缩$file到$filename.zip"
done
```
请将上述脚本保存为一个文件(如compress.sh),然后使用chmod命令给予执行权限:
```shell
chmod +x compress.sh
```
之后,在需要执行该脚本的目录下打开终端,并执行以下命令来运行脚本:
```shell
./compress.sh
```
脚本会自动将该目录下的所有txt文件分别压缩成与txt文件名相同的zip压缩包,并输出相应的提示信息。
### 回答3:
你好!下面是一个简单的Shell脚本,可以实现将当前目录下的所有txt文件分别压缩为与它们的文件名相同的zip压缩包:
```bash
#!/bin/bash
# 遍历当前目录下的所有txt文件
for file in *.txt; do
# 提取文件名(不包括扩展名)
filename=$(basename "$file" .txt)
# 将txt文件压缩为zip文件(与文件名相同)
zip "$filename.zip" "$file"
# 打印处理的文件信息
echo "已压缩文件:$file --> $filename.zip"
done
```
请将以上代码保存为`compress.sh`文件,并在命令行中运行`bash compress.sh`命令,即可执行该脚本。执行脚本后,它将遍历当前目录下的所有txt文件,将每个txt文件压缩为与其文件名相同的zip压缩包,并打印出处理过程的信息。
希望这能帮到你!如果有任何问题,请随时提问。
阅读全文