📌  相关文章
📜  bash 获取目录中的文件扩展名类型 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:38.061000             🧑  作者: Mango

Bash 获取目录中的文件扩展名类型

在开发中,我们经常需要获取一个目录中所有文件的扩展名类型。这可以帮助我们做一些文件处理的操作,比如提取所有图片文件、统计文件类型等等。在 Bash 中,这可以通过几行简单的代码轻松实现。

代码实现

我们可以使用 for 循环遍历目录中的所有文件,然后使用 ${file##*.} 来获取文件的扩展名。具体实现如下:

#!/bin/bash

directory="/path/to/directory"

for file in "$directory"/*
do
  if [[ -f "$file" ]]; then
    extension="${file##*.}"
    echo "$extension"
  fi
done

这段代码会输出目录中所有文件的扩展名,如果你只需要特定类型的文件,可以在 if 语句中加入对文件类型的判断条件,比如:

if [[ -f "$file" && ${file: -4} == ".jpg" ]]; then

这段代码只会输出 jpg 格式的文件扩展名。

Markdown 格式代码片段
# Bash 获取目录中的文件扩展名类型

在开发中,我们经常需要获取一个目录中所有文件的扩展名类型。这可以帮助我们做一些文件处理的操作,比如提取所有图片文件、统计文件类型等等。在 Bash 中,这可以通过几行简单的代码轻松实现。

## 代码实现

我们可以使用 for 循环遍历目录中的所有文件,然后使用 ${file##*.} 来获取文件的扩展名。具体实现如下:

```bash
#!/bin/bash

directory="/path/to/directory"

for file in "$directory"/*
do
  if [[ -f "$file" ]]; then
    extension="${file##*.}"
    echo "$extension"
  fi
done

这段代码会输出目录中所有文件的扩展名,如果你只需要特定类型的文件,可以在 if 语句中加入对文件类型的判断条件,比如:

if [[ -f "$file" && ${file: -4} == ".jpg" ]]; then

这段代码只会输出 jpg 格式的文件扩展名。