我正在编写sh脚本,需要将.和-替换为_当前:
.
-
_
V123_45_678_910.11_1213-1415.sh
招聘:
V123_45_678_910_11_1213_1415.sh
我已经使用了一些mv命令,但是遇到了问题。
mv
for file in /virtualun/rest/scripts/IOL_Extra/*.sh ; do mv $file ${file//V15_IOL_NVMe_01./V15_IOL_NVMe_01_} ; done
cngwdvgl1#
${variable//pattern/replacement}是一个bash扩展,在sh中,你需要这样的代码:
${variable//pattern/replacement}
for src in /virtualun/rest/scripts/IOL_Extra/*.sh; do # do replacements on name only dest=$(printf '%s' "${src##*/}" | tr .- __) # correct extension dest=${dest%_sh}.sh # prepend path dest=${src%/*}/$dest # rename echo mv "$src" "$dest" done
如果输出良好,请删除echo。
echo
1条答案
按热度按时间cngwdvgl1#
${variable//pattern/replacement}
是一个bash扩展,在sh中,你需要这样的代码:如果输出良好,请删除
echo
。