我正在尝试使用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中的当前目录中的任何具有该扩展名的文件中删除文件扩展名(其中.bak可以替换为您选择的扩展名)
for f in *.bak
do
mv $f ${f%.*}
done
答案 0 :(得分:1)
您是否尝试删除子字符串
fname="test.abc.bak"
mv $fname ${fname%.*}
由于
答案 1 :(得分:0)
我有一些代码,但它使用临时文件,只需尝试并检查您的用处
ls -l |awk '{print $9}' >/list
cat /list |while read line
do
echo $line >/tempfile
first=`cut -f1 -d'.' /tempfile`
echo $first >>/output.txt
mv $line $first
done