如何在 bash 脚本中检查文件名的扩展名?

发布于 2022-07-28 23:02:55

我正在用 bash 编写一个夜间构建脚本。
一切都很好,花花公子,除了一点点障碍:

#!/bin/bash

for file in "$PATH_TO_SOMEWHERE"; do
      if [ -d $file ]
      then
              # do something directory-ish
      else
              if [ "$file" == "*.txt" ]       #  this is the snag
              then
                     # do something txt-ish
              fi
      fi
done;

我的问题是确定文件扩展名,然后采取相应措施。我知道问题出在 if 语句中,测试 txt 文件。

如何确定文件是否具有 .txt 后缀?

关注者
0
被浏览
14
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。

    我想你想说“$file 的最后四个字符是否等于.txt?” 如果是这样,您可以使用以下内容:

    if [ "${file: -4}" == ".txt" ]
    

    请注意,和之间的空格file:-4必需的,因为 ‘:-‘ 修饰符的含义不同。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看