【发布时间】:2017-02-16 02:20:51
【问题描述】:
我正在尝试向函数传递两个变量,我想将空格替换为文件名的下划线,即:
directory=<path to file>
file=<name of file>
my_function "$directory/${file// /_}"
这将在 bash 和更高版本的 ksh 中工作,但是我正在使用较旧的 Solaris 9 机器,结果是替换错误。
在旧的 KSH 环境中是否有一种简洁的方法来实现此功能?
【问题讨论】:
-
${dir}/$(echo "$file"|sed 's/_/ /g')....。祝你好运。 -
谢谢!虽然我用下划线替换空格所以 sed 's/ /_/g'.
-
tr解决方案可能在微观上更有效(我投了赞成票)。如果您要使用sed,我会推荐printf "..." | sed '...',就像tr解决方案一样。祝大家好运。