写一个shell脚本,筛选罗列所有以f开头的文件并将其压缩打包为tar.gz格式
时间: 2024-05-29 20:11:46 浏览: 15
#!/bin/bash
# 切换到要筛选的目录
cd /path/to/directory/
# 筛选所有以f开头的文件
files=$(find . -type f -name "f*")
# 如果没有找到符合条件的文件,输出提示信息并退出脚本
if [[ -z $files ]]; then
echo "没有找到以f开头的文件"
exit 1
fi
# 将文件压缩为tar.gz格式
tar czf f_files.tar.gz $files
# 输出压缩包路径
echo "压缩包路径为:$(pwd)/f_files.tar.gz"
相关问题
编写一个shell脚本,罗列当前路径下所有以f开头的文件名(注意:不包括文件夹),然后再将每个f开头的文件使用tar命令打包压缩成对应的.tar.gz文件,例如当前目录下存在f1.txt,file2.txt以及file4.txt等文件(当前目录下的实际txt文件数量可能还要更多),那么需要将其打包压缩成对应的f1.tar.gz文件,file2.tar.gz和file4.tar.gz文件。
好的,以下是符合您要求的shell脚本:
```
#!/bin/bash
files=$(ls f* | grep -v "/") # 筛选出以f开头的文件名
for file in $files
do
tar -czvf "$file".tar.gz "$file" # 打包压缩成对应的.tar.gz文件
done
echo "All f* files have been compressed into .tar.gz files."
```
您可以在当前路径下运行该脚本,即可完成符合您要求的操作。
shell压缩一个文件为当天时间.tar.gz
您可以使用以下命令将一个文件压缩为当天时间的tar.gz文件:
```
tar -czvf $(date +%Y%m%d).tar.gz 文件名
```
其中,"$(date +%Y%m%d)"会根据当前日期生成一个类似于"20220304"的字符串作为文件名的一部分,"文件名"是需要压缩的文件的文件名。压缩完成后的文件会保存在当前目录下。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)