小编典典

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

all

我正在用 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 后缀?


阅读 123

收藏
2022-06-20

共1个答案

小编典典

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

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

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

2022-06-20