我正在尝试使用Android的shell编写脚本来重命名给定扩展名的所有文件,以添加.bak扩展名,并将另一个扩展名删除。Android中的多文件重命名
这适用于在目录中添加.bak扩展到所有PDF文件使用${varname:index:length}
在Android外壳不起作用
ext=.bak
for f in *.pdf
do
mv $f $f$ext
done
但是bash的字符串的切片,所以我在亏损为如何删除扩展名。有没有人有任何想法?
编辑:澄清,我试图找到一种方法来删除android外壳中的字符串的最后四个字符。我还没有考虑过哪些解决我的具体问题的其他解决方案也是受欢迎的。
更新: 基于给定的答案,以下代码将从未修改的Android shell中的当前目录中拥有该扩展名的任何文件中删除文件扩展名(其中.bak可以用您选择的扩展名替换)
for f in *.bak
do
mv $f ${f%.*}
done
$ {varname:index:length}不起作用,所以我怀疑android shell没有这种能力,但我会尝试。 – 2012-07-22 21:41:58
它的作品!你能否指点我使用这种技术的字符串操作的参考? – 2012-07-23 00:41:55
http://tldp.org/LDP/abs/html/parameter-substitution.html#PSUB2我在bash正则表达式中发现了这个资源,这在Android shell中似乎是有效的。一般来说,我还没有想过如何做字符串索引,但是这解决了我的问题!祝贺,赏金颁发。 – 2012-07-23 00:46:38