首页 > 解决方案 > 用于查找扩展问题的 AWK 命令

问题描述

我正在使用 awk 命令在我的脚本中获取文件扩展名,但是在我需要一些建议的情况下它失败了。

这是我的“Search_directory”中的两个输入文件。我的 Awk 命令能够为文件 1 工作,它失败说“源行号是 1。awk:0602-533 找不到或打开文件”。什么我失踪了吗?请建议。天呐!

File 1: hm101i.39.TF010J.TXT
File 2 : hm101i.39.TF010 JUNK.TXT


for file in "$SEARCH_DIR"/*; do
 extn=$(echo $file | awk -F '.' '{print $NF}')
done

标签: bashshellunix

解决方案


您不需要 awk ,${parameter##word}而是使用 bash 的扩展功能。喜欢:

ext=${file##*.}

这只是删除了$file匹配中最长的子字符串,*.这是一个 glob 模式。

file='hm101i.39.TF010J.TXT'
$ echo ${file##*.}
TXT

推荐阅读