Shell文件扩展名为多个“。”

时间:2019-03-07 19:49:02

标签: shell unix

我需要提取目录中文件的文件扩展名,但是文件格式如下:

ab10001i.39400.8163.txt
ab10001i.39400.0433.txt
ab10001i.39400.24433.txt
ab10001i.39400.90631.TXT

我尝试了以下脚本,但没有给我预期的结果。谢谢!!

for file in "$SEARCH_DIR"/*; do
  clmFile=`basename "$file"`
  lastpart=``echo -n ${clmFile%.*} | tail -c4``
  echo "TEST THIS THIS " $lastpart
  if [ ${extension} == "TXT" ]; then
     echo "TXT FILE"
  elif [ ${extension} == "txt" ]; then
     echo "txt FILE"
  fi
done

1 个答案:

答案 0 :(得分:0)

找到了解决方案。

lastpart=`echo -n ${clmFile%} | tail -c4

这将提取以下输出

txt
txt
txt
TXT

我的输入文件

ab10001i.39400.8163.txt
ab10001i.39400.0433.txt
ab10001i.39400.24433.txt
ab10001i.39400.90631.TXT

这是一种好的脚本做法吗?还有其他建议吗?