【发布时间】:2012-07-12 12:23:42
【问题描述】:
我正在尝试使用 Android 的 shell 编写一个脚本来重命名给定扩展名的所有文件以添加 .bak 扩展名,并删除它。
这适用于将 .bak 扩展名添加到目录中的所有 pdf 文件
ext=.bak
for f in *.pdf
do
mv $f $f$ext
done
但是使用${varname:index:length} 的bash 字符串切片在android shell 中不起作用,所以我不知道如何删除扩展。有人有什么想法吗?
编辑:澄清一下,我正在尝试找到一种方法来删除 android shell 中字符串的最后四个字符。也欢迎其他我没有考虑过的可以解决我的特定问题的解决方案。
更新: 根据给定的答案,以下代码将从未修改的 Android shell 中当前目录中拥有该扩展名的任何文件中删除文件扩展名(其中 .bak 可以替换为您选择的扩展名)
for f in *.bak
do
mv $f ${f%.*}
done
【问题讨论】: