【发布时间】:2021-02-17 23:16:58
【问题描述】:
我正在编写一个涉及带有通配符的路径的脚本。我知道通配符只会匹配一个文件,我只是提前不知道文件扩展名是什么,所以我使用了通配符。
这里的目标是找到相应文件的路径,然后将该路径添加到脚本的第 16 行。
我有这样的事情:
path=/path/to/somewhere/fileName*
sed "16 a file=$path" myScript.sh
我期望得到的是这个(第 16 行):
file=/path/to/somewhere/fileName.extension
但我得到的是:
file=/path/to/somewhere/fileName*
由于某种原因,sed 在添加 $path 的内容时没有扩展通配符,我不知道如何让 sed 做这样的事情。我正在寻找一种解决方案,a) sed 已正确扩展 $path 或 b) 在传递给 sed 之前让 $path 包含完全扩展的字符串。
【问题讨论】: