bash - 用于查找扩展问题的 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
解决方案
您不需要 awk ,${parameter##word}
而是使用 bash 的扩展功能。喜欢:
ext=${file##*.}
这只是删除了$file
匹配中最长的子字符串,*.
这是一个 glob 模式。
file='hm101i.39.TF010J.TXT'
$ echo ${file##*.}
TXT
推荐阅读
- r - 在 R 中使用 Plotly 绘制显示毫秒的时间戳
- x86-64 - 在这个简单的例子中调用汇编指令做什么?
- node.js - API中的Put方法总是收到空的请求体
- unity3d - 如何检查 Unity 中 NavMeshAgent 的路径是否存在到 NavMesh 上的某个点?
- csv - spark.read.format('csv') 中的数据帧不正确
- java - 使用 Spring Boot 请求 Wrapper Body
- c++ - TAH.h 中的库/函数 - 我的代码中没有响应
- laravel - 此集合实例上不存在属性 [类别]。(查看:D:\xampp\htdocs\olshop\resources\views\backend\product\index.blade.php)
- php - 如何在 PHP 中获取表单图像数据
- flutter - 为什么颤振在基于索引抓取孩子时会抛出无效参数?