写一个shell脚本 找出某个路径下以.conf结尾的文件,并将这些文件打成一个包。
时间: 2023-09-17 16:06:01 浏览: 386
### 回答1:
下面是一个示例的 shell 脚本,用来在某个路径下找出以 .conf 结尾的文件,并将它们打包成一个压缩包:
```
#!/bin/bash
path=<路径> # 替换为你想要搜索的路径
# 找出路径下以 .conf 结尾的文件
files=`find $path -name "*.conf"`
# 如果找到了文件,则打包
if [ -n "$files" ]; then
tar -czvf conf_files.tar.gz $files
fi
```
保存这段代码为脚本文件,例如 `find_conf_files.sh`,并使用以下命令运行:
```
$ chmod +x find_conf_files.sh
$ ./find_conf_files.sh
```
这段脚本会在当前目录下生成一个名为 `conf_files.tar.gz` 的压缩包,里面包含了以 .conf 结尾的文件。
### 回答2:
可以使用以下的shell脚本来实现该功能:
```bash
#!/bin/bash
# 设置路径
path="/your/path"
# 检查路径是否存在
if [ ! -d "$path" ]; then
echo "路径不存在!"
exit 1
fi
# 切换到指定路径
cd "$path"
# 查找以.conf结尾的文件并打包
find . -name "*.conf" -type f -print0 | xargs -0 tar -czvf config_files.tar.gz
echo "打包完成!"
```
在这个脚本中,我们首先将要查找的路径赋值给变量 `path`,然后通过 `cd` 命令切换到该路径下。
之后,我们使用 `find` 命令查找以 `.conf` 结尾的文件,并使用 `xargs` 命令将其作为参数传递给 `tar` 命令进行打包。`-print0` 和 `-0` 参数用于处理文件名中包含空格的情况。
最后,我们打印出提示信息,告知用户打包完成。
注意,用户应将 `/your/path` 替换为实际的路径。此外,用户还需要确保目标路径下有以 `.conf` 结尾的文件,否则脚本将会打包一个空的文件。
阅读全文