用shell写出 检查指定目录下是否存在.c文件,如果存在则输出它们的大小。
时间: 2024-03-21 21:40:26 浏览: 17
以下是一个实现这个功能的简单 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` 文件,如果存在则输出文件名和大小。
相关问题
用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写一个指定目录下是否存在.doc文件,如果存在则输出它们的名称
可以使用以下的shell脚本来实现:
```shell
#!/bin/bash
# 指定目录
dir_path="/path/to/directory"
# 查找.doc文件并输出名称
find "$dir_path" -name "*.doc" -type f -print 2>/dev/null | while read file_name
do
echo "$file_name"
done
```
解释一下这个脚本的每一行:
- 第1行:指定使用/bin/bash解释器执行此脚本。
- 第4行:指定要查找.doc文件的目录路径。
- 第7-10行:使用find命令查找指定目录下所有扩展名为.doc的文件,并输出它们的名称。
- 第8行:-name用于指定要查找的文件名,这里使用通配符*.doc表示查找所有扩展名为.doc的文件。
- 第9行:-type f表示查找普通文件而非目录或链接文件。
- 第10行:-print用于输出查找到的文件名,2>/dev/null用于将标准错误输出重定向到/dev/null,这样即使找不到文件也不会输出错误信息。
- 第11-14行:使用while循环读取find命令输出的每一个文件名,并输出它们的名称。