linux 在pictures目录下编程获取后缀bmp,jpg,jpeg文件名
时间: 2023-07-16 17:14:39 浏览: 41
可以使用以下命令来获取pictures目录下的所有后缀为bmp、jpg、jpeg的文件名:
```
ls pictures/*.bmp pictures/*.jpg pictures/*.jpeg
```
这个命令会列出所有符合条件的文件名,你也可以将其保存到一个文件中:
```
ls pictures/*.bmp pictures/*.jpg pictures/*.jpeg > file_list.txt
```
其中 "> file_list.txt" 的含义是将命令的输出重定向到一个名为 file_list.txt 的文件中。
相关问题
linux 在pictures目录下编程获取bmp,jpg,jpeg文件名
可以使用Linux系统自带的find命令来查找指定目录下的bmp、jpg和jpeg文件,然后使用awk或sed等命令来提取文件名。
例如,要查找pictures目录下所有的bmp、jpg和jpeg文件名,可以使用以下命令:
```
find pictures/ -type f \( -name "*.bmp" -o -name "*.jpg" -o -name "*.jpeg" \) -exec basename {} \;
```
该命令会在pictures目录下查找所有类型为文件的bmp、jpg和jpeg文件,并且使用basename命令来提取文件名。
如果你想将文件名保存到一个文本文件中,可以将命令修改为:
```
find pictures/ -type f \( -name "*.bmp" -o -name "*.jpg" -o -name "*.jpeg" \) -exec basename {} \; > file_names.txt
```
这样就会将文件名保存到当前目录下的file_names.txt文件中。
linux 在pictures目录下编程获取bmp文件名
你可以使用 Linux 中的 dirent.h 和 sys/types.h 库来实现获取目录中所有文件名的功能。以下是一个示例代码,可以获取指定目录下所有 BMP 格式的文件名:
```c
#include <dirent.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
int main() {
DIR* dir = opendir("pictures"); // 打开目录
if (dir == NULL) {
perror("Failed to open directory");
return -1;
}
struct dirent* entry;
while ((entry = readdir(dir)) != NULL) { // 遍历目录中的所有文件
if (entry->d_type == DT_REG) { // 如果是普通文件
char* name = entry->d_name;
if (strlen(name) > 4 && strcmp(name + strlen(name) - 4, ".bmp") == 0) { // 判断是否为 BMP 文件
printf("%s\n", name);
}
}
}
closedir(dir); // 关闭目录
return 0;
}
```
该代码会打印出所有 BMP 文件的文件名。你可以根据需要修改目录名称和文件格式来适应自己的需求。