bash - 如何在bash中将变量传递给awk以解析值
问题描述
当我尝试解析最后一个文件夹时使用 awk 出现错误“没有这样的文件或目录”。如何将变量传递给 awk
CacheLocation="/home/dir1/tempdl/abc-cache"
cacheFolderName=$(awk -F/ '{print $NF}' $CacheLocation)
解决方案
awk
不适用于字符串,它期望输入为文件或stdin
CacheLocation="/home/dir1/tempdl/abc-cache"
cacheFolderName="$(awk -F/ '{print $NF}' <<<"$CacheLocation" )"
在这种特殊情况下,它可能更容易使用basename
CacheLocation="/home/dir1/tempdl/abc-cache"
cacheFolderName="$( basename "$CacheLocation" )"
推荐阅读
- mysql - 如何在 laravel 中将这个复杂的 mysql 查询作为原始查询运行
- c# - 从将字符转换为整数获取不同的值
- git - 无法使用 .gitattributes 禁用 autocrlf
- vba - 文本框旋转问题
- javascript - 创建 FlatList 项。但它不适用于本机反应
- typescript - 这个图标在 WebStorm 自动完成中是什么意思?
- rust - 如何从实现 Drop 的结构中移动类型未实现 Default 的字段?
- python - 究竟什么是序列?
- android - SetCurrentItem ViewPager2 在通知适配器更改后没有动画
- mule - VM 侦听器是否使用 VM 已发布队列中的有效负载?