shell查询指定目录是否存在指定文件名的文件,存在输出存在,不存在输出不存在,文件路径和文件名定义成变量
时间: 2024-03-16 22:45:19 浏览: 25
可以使用以下命令来查询指定目录是否存在指定文件名的文件,存在输出存在,不存在输出不存在,文件路径和文件名定义成变量。
```shell
dir="/path/to/directory/"
filename="file.txt"
filepath="${dir}${filename}"
if [ -e "$filepath" ]; then
echo "存在"
echo "文件路径:$filepath"
echo "文件名:$filename"
else
echo "不存在"
fi
```
其中,`${dir}` 和 `${filename}` 是变量引用,`/path/to/directory/` 被定义为了变量 `$dir`,`file.txt` 被定义为了变量 `$filename`,`${dir}${filename}` 是文件的完整路径。`-e` 选项用于检查文件是否存在。
通过判断 `$filepath` 是否存在来确定是否找到了文件,如果找到了,则输出文件路径和文件名,否则输出"不存在"。
相关问题
用shell写出 检查指定目录下是否存在.doc文件,如果存在则输出它们的名称
好的,可以使用以下 shell 命令实现:
```bash
#!/bin/bash
# 指定目录
directory="/path/to/directory"
# 遍历目录下的所有 .doc 文件
for file in "$directory"/*.doc; do
# 检查是否存在 .doc 文件
if [ -e "$file" ]; then
# 输出文件名
echo "$file"
fi
done
```
你只需要将 `directory` 变量替换成你要检查的目录的路径即可。这段代码会遍历指定目录下的所有以 `.doc` 结尾的文件,并输出它们的文件名。
用shell写出 检查指定目录下是否存在.c文件,如果存在则输出它们的大小。
以下是一个实现这个功能的简单 shell 脚本:
```bash
#!/bin/bash
# 指定目录路径
path="/path/to/directory"
# 遍历目录中的文件
for file in "$path"/*.c; do
# 如果存在 .c 文件
if [ -e "$file" ]; then
# 获取文件大小(以字节为单位)
size=$(stat -c %s "$file")
# 输出文件名和大小
echo "$file: $size bytes"
fi
done
```
你可以将 `path` 变量替换为你想要检查的目录的路径。这个脚本会遍历指定目录下的所有 `.c` 文件,如果存在则输出文件名和大小。